fly 2 viikkoa sitten
vanhempi
commit
5f0b6e3735

+ 1 - 1
.env.production

@@ -2,4 +2,4 @@
 ENV = 'production'
 
 # 生产环境
-VUE_APP_BASE_API = 'https://ui2.gametty.cc/api'
+VUE_APP_BASE_API = 'https://www.gametty.cc/api'

+ 5 - 1
src/views/AssetCenter.vue

@@ -127,9 +127,13 @@ export default {
 </script>
 
 <style scoped>
+.record-list{
+  background-color: #ed4b39;
+  padding-top: 4px;
+}
 .container {
   min-height: 100vh;
-  background: #f5f5f5;
+  background: #ed4b39;
 }
 
 .nav-bar {

+ 143 - 126
src/views/Medical.vue

@@ -1,38 +1,44 @@
 <template>
-  <div class="usremei-container">
-    <div class="header-section">
-      <div class="invite-header">红旗资本原始股
-        <!-- <div class="sub-header">(每份收益三年)</div> -->
-      </div>
-      
+  <div class="medical-container">
+    <!-- 顶部说明卡片 -->
+    <div class="top-info-card">
       <div class="desc-text">
-        国务院国资委帮扶完成指标:国有企业各大领导决定发行资本原始股。资本原始股每一股价值20元,推动后可兑换现金人民币,兑换当天立即可打款到银行卡,每份收益一年。
+        中国建设科技集团作为 "落实国家战略的重要践行者、满足人民美好生活需要的重要承载者、行业科技创新的重要引领者" 现经中共中央批准发行科技股权,参与以下建科股权可享受分红资金打款到账银行卡《享受周期5年》参与股权的本金将在10天后自动返回银行卡上,国家承诺不会落下一个贫困民众,国家不会忘记人民,百分百真实到账!
       </div>
-      <div class="commission-card">
-        <span class="commission-title">团队返佣:</span>
-        <div class="commission-list">
-          <span class="commission-item">一级5%</span>
-          <span class="commission-item">二级2%</span>
-          <span class="commission-item">三级1%</span>
+    </div>
+
+    <!-- 团队奖励卡片 -->
+    <div class="commission-card">
+      <div class="commission-content">
+        <span class="commission-title">团队奖励</span>
+        <div class="commission-rates">
+          <span class="rate-item">一级<em>5%</em></span>
+          <span class="rate-item">二级<em>3%</em></span>
+          <span class="rate-item">三级<em>1%</em></span>
         </div>
       </div>
     </div>
-    <div class="invite-list">
-      <div class="invite-item" v-for="(item,i) in rewards" :key="item.id">
-        <div class="item_header">
-            <div class="title">{{ item.title }}</div>
-            <div class="titletwo">获得{{i + 1}}万原始股</div>
+
+    <!-- 项目列表 -->
+    <div class="project-list">
+      <div v-for="item in rewards" :key="item.id" class="project-item">
+        <!-- 项目头部 -->
+        <div class="project-header">
+          <span class="project-name">{{ item.title }}</span>
+          <span class="project-shares">获得养老金{{ item.computing_power }}.00元</span>
         </div>
-        <div class="item_body">
-            <div class="body_left">
-                <div style="font-weight: 700;" class="bodt_one">{{item.power}}%</div>
-                <div style="font-weight: 700;" class="bodt_two">每日收益</div>
-            </div>
-            <div class="body_right">
-                <div style="font-weight: 700; font-size: 17px; font-family: system-ui;" class="bodt_one">{{item.money}}元</div>
-                <!-- <div style="color: #8e8989; font-weight: 700;" class="bodt_two">10000份</div> -->
-            </div>
-            <div class="body_btn" @click="toPayment(item)">立即参与</div>
+        
+        <!-- 项目内容 -->
+        <div class="project-content">
+          <div class="income-info">
+            <div class="income-rate">{{ item.power }}%</div>
+            <div class="income-label">每日收益</div>
+          </div>
+          <div class="amount-info">
+            <div class="amount-value">{{ item.money }}元</div>
+            <div class="amount-label">参与金额</div>
+          </div>
+          <button class="join-btn" @click="toPayment(item)">立即参与</button>
         </div>
       </div>
     </div>
@@ -43,7 +49,7 @@
 import {getMiner} from '@/api/home.js'
 
 export default {
-  name: 'Dynamic',
+  name: 'Medical',
   data() {
     return {
      rewards: [{},{},{},{}]
@@ -73,142 +79,153 @@ export default {
 </script>
 
 <style scoped>
-.usremei-container {
+.medical-container {
   min-height: 100vh;
-  background:#b43a39;
-  background-size: cover;
-  background-position: center;
-  padding-top: 30px;
-  padding-bottom: 80px;
+  background: #b43a39;
+  padding: 20px;
   box-sizing: border-box;
-  overflow-y: auto;
-  position: relative;
-}
-
-.header-section {
-  width: 90%;
-  margin: 0 auto 20px;
-}
-
-.invite-header {
-  background: #ffeddf;
-  color: #f11859;
-  font-size: 20px;
-  font-weight: bold;
-  text-align: center;
-  padding: 20px 0 10px 0;
-  box-shadow: 0 4px 16px rgba(208,2,27,0.08);
-  letter-spacing: 2px;
-  position: relative;
-  clip-path: polygon(60px 0, calc(100% - 60px) 0, 100% 100%, 0 100%);
+  padding-bottom: 80px;
 }
 
-.sub-header {
-  color: #f11859;
-  background: #ffeddf;
-  font-size: 14px;
-  text-align: center;
+/* 顶部信息卡片 */
+.top-info-card {
+  background: #fff;
+  border: 2px solid #fff;
+  border-radius: 8px;
+  padding: 15px;
+  margin-bottom: 15px;
 }
 
 .desc-text {
-  background: #ffeddf;
-  color: #f11859;
-  font-size: 14px;
-  line-height: 1.6;
-  padding: 15px;
-  text-align: justify;
-  font-weight: bold;
+  color: #333;
+    font-size: 14px;
+    line-height: 1.5;
+    text-align: justify;
+    font-weight: 700;
+    font-family: auto;
 }
 
+/* 团队奖励卡片 */
 .commission-card {
-  background: #ffeddf;
-  margin-top: 2px;
-  padding: 15px;
+  background: linear-gradient(135deg, #fff 0%, #f8f9fa 100%);
+  border: 2px solid #e3e6ea;
+  border-radius: 12px;
+  padding: 20px;
+  margin-bottom: 15px;
+  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
+}
+
+.commission-content {
   display: flex;
   align-items: center;
-  white-space: nowrap;
+  justify-content: center;
+  gap: 15px;
 }
 
 .commission-title {
-  color: #9c1492;
+  color: #d91d42;
   font-size: 16px;
   font-weight: bold;
+  white-space: nowrap;
+}
+
+.commission-rates {
+  display: flex;
+  gap: 15px;
 }
 
-.commission-list {
+.rate-item {
+  color: #333;
+  font-size: 14px;
+  font-weight: 600;
   display: flex;
   align-items: center;
-  justify-content: space-between;
-  color: #9c1492;
-  flex: 1;
+  gap: 5px;
 }
 
-.commission-item {
-  /* margin: 0 15px; */
-  font-size: 16px;
-  white-space: nowrap;
+.rate-item em {
+  background: linear-gradient(45deg, #d91d42, #ff4757);
+  color: #fff;
+  font-style: normal;
   font-weight: bold;
+  padding: 3px 8px;
+  border-radius: 12px;
+  font-size: 12px;
+  box-shadow: 0 1px 3px rgba(217, 29, 66, 0.3);
 }
 
-.commission-item:last-child {
-  margin-right: 0;
+/* 项目列表 */
+.project-list {
+  /* 项目容器 */
 }
 
-.level {
-  color: #f11859;
-  margin-right: 4px;
+.project-item {
+  background: #fff;
+  border-radius: 12px;
+  margin-bottom: 15px;
+  overflow: hidden;
 }
 
-.rate {
-  color: #f11859;
+.project-header {
+  background: #d91d42;
+  color: #fff;
+  padding: 12px 20px;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
 }
 
-.invite-list {
-  width: 90%;
-  margin: 0 auto;
+.project-name {
+  font-size: 16px;
+  font-weight: bold;
 }
 
-.invite-item {
-  margin-bottom: 22px;
-  width:100%;
-  height:88px;
-  background:#fff;
+.project-shares {
+  font-size: 14px;
+  color: #e6f11c;
 }
-.item_header{
-    height:30px;
-    line-height:30px;
-    background:#a30100;
-    display:flex;
-    color:#fff;
-    font-size:14px;
+
+.project-content {
+  padding: 20px;
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
 }
-.title{
-    margin-left:20px;
+
+.income-info, .amount-info {
+  text-align: center;
 }
-.titletwo{
-    margin-left:65px;
+
+.income-rate, .amount-value {
+  font-size: 20px;
+  font-weight: bold;
+  color: #333;
+  margin-bottom: 5px;
 }
-.item_body{
-    padding:8px 20px;
-    display:flex;
-    justify-content: space-between;
-    text-align:center;
-    align-items: center;
+
+.income-label, .amount-label {
+  font-size: 14px;
+  color: #666;
 }
-.bodt_two{
-    margin-top:4px;
+
+.join-btn {
+  background: #d91d42;
+  color: #fff;
+  border: none;
+  padding: 12px 24px;
+  border-radius: 20px;
+  font-size: 14px;
+  font-weight: bold;
+  cursor: pointer;
+  transition: all 0.3s;
 }
-.body_btn{
-    width: 84px;
-        height: 28px;
-        background: #a30100;
-        color: #fff;
-        font-size: 17px;
-        text-align: center;
-        line-height: 27px;
-        border-radius: 12px;
-        padding: 2px 4px;
-		font-weight: 600;
-    
+
+.join-btn:hover {
+  background: #c01a3a;
+  transform: scale(1.05);
+}
+
+.join-btn:active {
+  transform: scale(0.95);
 }
 </style> 

+ 241 - 92
src/views/Member.vue

@@ -8,98 +8,204 @@
       <div class="title">我的团队</div>
     </div>
 
-    <!-- 用户信息卡片 -->
-    <div class="header-info">
-      <div class="user-info">
-        <div class="avatar">
-          <img src="@/assets/hongqi.png" alt="红旗">
+    <!-- 主要内容 -->
+    <div class="content">
+      <!-- 顶部邀请码区域 -->
+      <div class="invite-section">
+        <!-- 二维码区域 -->
+        <div class="qr-section">
+          <img v-if="qrCodeUrl" :src="qrCodeUrl" alt="邀请二维码" class="qr-code" />
+          <div class="qr-label">分享二维码给好友</div>
         </div>
-        <div class="account-info">
-          <div>账号:{{ userInfo.mobile }}</div>
-          <div class="invite-code">
-            <span>邀请码:{{ userInfo.salt }}</span>
-            <button class="copy-btn" @click="copyInviteCode">复制</button>
+        
+        <!-- 邀请码信息 -->
+        <div class="invite-info">
+          <div class="invite-code-label">我的邀请码:</div>
+          <div class="invite-actions">
+            <button class="copy-btn" @click="copyInviteCode">复制邀请码</button>
+            <button class="share-btn" @click="shareInviteLink">复制邀请链接</button>
           </div>
         </div>
       </div>
 
-      <div class="title-text">我的团队</div>
-
-      <!-- 团队数据 -->
-      <div class="team-stats">
+      <!-- 统计数据卡片 -->
+      <div class="stats-card">
         <div class="stat-item">
-          <div class="stat-num">{{ userInfo.totleone || 0 }}</div>
-          <div class="stat-label">一级人数</div>
+          <div class="stat-number">{{ userInfo.totleone || 0 }}</div>
+          <div class="stat-label">直推人数</div>
         </div>
         <div class="stat-item">
-          <div class="stat-num">{{ userInfo.totletwo || 0 }}</div>
-          <div class="stat-label">二级人数</div>
+          <div class="stat-number">{{ (userInfo.totleone || 0) + (userInfo.totletwo || 0) + (userInfo.totlethree || 0) }}</div>
+          <div class="stat-label">团队总人数</div>
         </div>
         <div class="stat-item">
-          <div class="stat-num">{{ userInfo.totlethree || 0 }}</div>
-          <div class="stat-label">三级人数</div>
+          <div class="stat-number">{{ getRealNameCount() }}</div>
+          <div class="stat-label">已实名人数</div>
         </div>
       </div>
 
-      <!-- 功能列表 -->
-      <div class="function-list">
-        <div class="function-item" @click="$router.push('/share')">
-          <span>邀请好友</span>
-        </div>
-        <div class="function-item" @click="$router.push('/team-detail')">
-          <span>团队明细</span>
-        </div>
-        <div class="function-item" @click="$router.push('/asset-center')">
-          <span>收益记录</span>
+      <!-- 会员分类标签 -->
+      <div class="member-tabs">
+        <div 
+          class="member-tab" 
+          :class="{ active: currentLevel === 1 }"
+          @click="switchLevel(1)"
+        >一级会员</div>
+        <div 
+          class="member-tab" 
+          :class="{ active: currentLevel === 2 }"
+          @click="switchLevel(2)"
+        >二级会员</div>
+        <div 
+          class="member-tab" 
+          :class="{ active: currentLevel === 3 }"
+          @click="switchLevel(3)"
+        >三级会员</div>
+      </div>
+
+      <!-- 会员详情卡片 -->
+      <div v-if="teamList.length > 0" class="member-list">
+        <div v-for="member in teamList" :key="member.id" class="member-card">
+          <div class="member-row">
+            <span class="member-label">姓名:</span>
+            <span class="member-value">{{ member.cardname || '-' }}</span>
+          </div>
+          <div class="member-row">
+            <span class="member-label">账号:</span>
+            <span class="member-value">{{ member.mobile || '18888888888' }}</span>
+          </div>
+          <div class="member-row">
+            <span class="member-label">注册时间:</span>
+            <span class="member-value">{{ member.createtime || '' }}</span>
+          </div>
         </div>
       </div>
     </div>
+
+    <!-- Toast 提示 -->
+    <Toast ref="toast" />
   </div>
 </template>
 
 <script>
 import { getUserInfo } from '@/api/home';
-import { getBankInfo } from '@/api/profile';
+import { getMyTeam } from '@/api/profile';
+import QRCode from 'qrcode';
+import Toast from '@/components/Toast.vue';
 
 export default {
   name: 'Member',
+  components: {
+    Toast
+  },
   data() {
     return {
       userInfo: {},
-      bankInfo: {}
+      qrCodeUrl: '',
+      currentLevel: 1,
+      teamList: [],
+      teamStats: {
+        level1: { yxuser: 0 },
+        level2: { yxuser: 0 },
+        level3: { yxuser: 0 }
+      }
+    }
+  },
+  computed: {
+    inviteLink() {
+      return this.userInfo.inviteLink || '';
     }
   },
   created() {
     this.getUserInfo();
-    // this.getBankInfo();
+    this.getTeamData();
+    this.getAllTeamStats();
   },
   methods: {
     async getUserInfo() {
       try {
         const res = await getUserInfo();
         this.userInfo = res.data;
+        await this.generateQRCode();
       } catch (error) {
         console.error('获取用户信息失败:', error);
       }
     },
-    async getBankInfo() {
+    async generateQRCode() {
+      try {
+        if (!this.inviteLink) return;
+        const qrOptions = {
+          errorCorrectionLevel: 'H',
+          type: 'image/png',
+          quality: 0.92,
+          margin: 1,
+          color: {
+            dark: '#000000',
+            light: '#FFFFFF'
+          }
+        };
+        this.qrCodeUrl = await QRCode.toDataURL(this.inviteLink, qrOptions);
+      } catch (error) {
+        console.error('生成二维码失败:', error);
+      }
+    },
+    async getTeamData() {
       try {
-        const res = await getBankInfo();
-        this.bankInfo = res.data;
+        const res = await getMyTeam(this.currentLevel);
+        if (res && res.data) {
+          this.teamList = res.data.list || [];
+        }
       } catch (error) {
-        console.error('获取银行卡信息失败:', error);
+        console.error('获取团队数据失败:', error);
+        this.teamList = [];
       }
     },
+    switchLevel(level) {
+      this.currentLevel = level;
+      this.getTeamData();
+    },
     copyInviteCode() {
       if (this.userInfo.salt) {
         navigator.clipboard.writeText(this.userInfo.salt)
           .then(() => {
-            alert('邀请码已复制');
+            this.$refs.toast.show('邀请码已复制', 'success');
           })
           .catch(() => {
-            alert('复制失败,请手动复制');
+            this.$refs.toast.show('复制失败,请手动复制', 'error');
           });
       }
+    },
+    shareInviteLink() {
+      if (this.inviteLink) {
+        navigator.clipboard.writeText(this.inviteLink)
+          .then(() => {
+            this.$refs.toast.show('邀请链接已复制', 'success');
+          })
+          .catch(() => {
+            this.$refs.toast.show('复制失败,请手动复制', 'error');
+          });
+      }
+    },
+    async getAllTeamStats() {
+      // 获取所有级别的团队统计数据,用于计算已实名人数
+      for (let level = 1; level <= 3; level++) {
+        try {
+          const res = await getMyTeam(level);
+          if (res && res.data) {
+            this.teamStats[`level${level}`] = {
+              yxuser: res.data.yxuser || 0
+            };
+          }
+        } catch (error) {
+          console.error(`获取${level}级团队统计失败:`, error);
+        }
+      }
+    },
+    getRealNameCount() {
+      // 计算所有级别的已实名人数总和
+      return (this.teamStats.level1.yxuser || 0) + 
+             (this.teamStats.level2.yxuser || 0) + 
+             (this.teamStats.level3.yxuser || 0);
     }
   }
 }
@@ -108,10 +214,7 @@ export default {
 <style scoped>
 .container {
   min-height: 100vh;
-  /* background: url('../assets/dabag.png') no-repeat; */
   background-color: #b43a39;
-  background-size: cover;
-  background-position: center;
 }
 
 .nav-bar {
@@ -148,81 +251,92 @@ export default {
   font-weight: 500;
 }
 
-.header-info {
+.content {
   padding: 20px;
-  color: #fff;
 }
 
-.user-info {
+/* 邀请码区域 */
+.invite-section {
+  background: #fff;
+  border-radius: 12px;
+  padding: 20px;
+  margin-bottom: 20px;
   display: flex;
   align-items: center;
-  margin-bottom: 30px;
+  justify-content: space-between;
 }
 
-.avatar {
-  width: 60px;
-  height: 60px;
-  background: #fff;
-  border-radius: 50%;
+.qr-section {
   display: flex;
+  flex-direction: column;
   align-items: center;
-  justify-content: center;
-  margin-right: 15px;
 }
 
-.avatar img {
-  width: 40px;
-  height: 40px;
-  object-fit: contain;
+.qr-code {
+  width: 100px;
+  height: 100px;
+  border-radius: 8px;
+  margin-bottom: 8px;
+}
+
+.qr-label {
+  font-size: 12px;
+  color: #666;
 }
 
-.account-info {
+.invite-info {
   flex: 1;
-  font-size: 14px;
+  margin-left: 20px;
 }
 
-.invite-code {
+.invite-code-label {
+  font-size: 16px;
+  color: #333;
+  margin-bottom: 15px;
+}
+
+.invite-actions {
   display: flex;
-  align-items: center;
-  margin-top: 10px;
-  justify-content: space-between;
+  flex-direction: column;
+  gap: 10px;
 }
 
-.copy-btn {
-  margin-left: 15px;
-  padding: 2px 15px;
-  background: #fff;
+.copy-btn, .share-btn {
+  padding: 8px 16px;
   border: none;
-  font-size: 12px;
+  border-radius: 6px;
+  font-size: 14px;
   cursor: pointer;
-  color: #bb2d5c;
-  font-weight: bold;
 }
 
-.title-text {
-  font-size: 20px;
-  font-weight: bold;
-  text-align: center;
-  margin: 30px 0;
+.copy-btn {
+  background: #ffb3b3;
+  color: #d91d42;
 }
 
-.team-stats {
-  background: #fff;
-  border-radius: 8px;
-  display: flex;
+.share-btn {
+  background: #ffb3b3;
+  color: #d91d42;
+}
+
+/* 统计卡片 */
+.stats-card {
+  background: #ffcccc;
+  border-radius: 12px;
+  padding: 20px;
   margin-bottom: 20px;
+  display: flex;
+  justify-content: space-around;
 }
 
 .stat-item {
-  flex: 1;
   text-align: center;
-  padding: 15px 0;
-  color: #333;
 }
 
-.stat-num {
-  font-size: 20px;
+.stat-number {
+  font-size: 24px;
   font-weight: bold;
+  color: #333;
   margin-bottom: 5px;
 }
 
@@ -231,19 +345,54 @@ export default {
   color: #666;
 }
 
-.function-list {
+/* 会员分类标签 */
+.member-tabs {
+  display: flex;
+  justify-content: space-around;
+  margin-bottom: 20px;
+  color: #fff;
+}
+
+.member-tab {
+  font-size: 16px;
+  font-weight: 500;
+  cursor: pointer;
+  padding: 8px 0;
+}
+
+.member-tab.active {
+  border-bottom: 2px solid #fff;
+}
+
+/* 会员列表 */
+.member-list {
+  /* 容器样式 */
+}
+
+.member-card {
   background: #fff;
-  border-radius: 8px;
+  border-radius: 12px;
+  padding: 20px;
+  margin-bottom: 12px;
 }
 
-.function-item {
-  padding: 15px;
-  border-bottom: 1px solid #eee;
-  color: #333;
+.member-card:last-child {
+  margin-bottom: 0;
+}
+
+.member-row {
+  display: flex;
+  margin-bottom: 8px;
   font-size: 14px;
 }
 
-.function-item:last-child {
-  border-bottom: none;
+.member-label {
+  color: #666;
+  width: 80px;
+}
+
+.member-value {
+  color: #333;
+  font-weight: 500;
 }
 </style> 

+ 2 - 1
src/views/OrderList.vue

@@ -76,7 +76,8 @@ export default {
 <style scoped>
 .container {
   min-height: 100vh;
-  background: #f5f5f5;
+  background-color: #ed4b39;
+
 }
 
 .nav-bar {

+ 79 - 49
src/views/OrderManagement.vue

@@ -5,49 +5,31 @@
       <div class="back-btn" @click="$router.back()">
         <i class="arrow-left"></i>
       </div>
-      <div class="title">股权管理</div>
+      <div class="title">基金参与记录</div>
     </div>
 
     <!-- 订单列表 -->
-    <div class="order-list">
-      <div class="mining-card" v-for="item in miningList" :key="item.id">
-        <div class="mining-card-header earnings-header">
-          <div class="header-left">
-            <div class="mining-image">
-              <img :src="item.miner_datail.images" alt="mining image">
-            </div>
-            <div class="mining-title">{{ item.miner_datail.title }}</div>
-          </div>
-          <div class="earnings-amount">收益中</div>
+    <div class="order-list product-list">
+      <div class="product-card" v-for="item in miningList" :key="item.id">
+        <div class="row">
+          <span class="label blue">产品名称</span>
+          <span class="value blue">{{ item.miner_datail.title }}</span>
         </div>
-        
-        <div class="u-line"></div>
-        
-        <div class="earnings-details">
-          <div class="detail-item">
-            <span class="detail-label">每日收益</span>
-            <span class="detail-value">{{ ((item.money * item.start_output) / 100).toFixed(2) }} 元</span>
-          </div>
-          <div class="detail-item">
-            <span class="detail-label">收益期限</span>
-            <span class="detail-value">{{ item.cycle }} 天</span>
-          </div>
-          <div class="detail-item">
-            <span class="detail-label">已获得原始股权</span>
-            <span class="detail-value">{{ item.miner_datail.computing_power }}.00</span>
-          </div>
-          <div class="detail-item">
-            <span class="detail-label">参与价格</span>
-            <span class="detail-value">{{ item.money }} 元</span>
-          </div>
+        <div class="row">
+          <span class="label">参与金额</span>
+          <span class="value">{{ item.money }}元</span>
         </div>
-        
-        <div class="u-line"></div>
-        
-        <div class="mining-card-header earnings-header">
-          <div class="header-left">
-            <div class="mining-title">{{ item.addtime }}</div>
-          </div>
+        <div class="row">
+          <span class="label red">每日分红</span>
+          <span class="value red">{{ ((item.money * item.start_output) / 100).toFixed(2) }}元</span>
+        </div>
+        <div class="row">
+          <span class="label red">到期总分红收益</span>
+          <span class="value red">{{ (((item.money * item.start_output) / 100) * item.cycle).toFixed(2) }}元</span>
+        </div>
+        <div class="row">
+          <span class="label">申购时间</span>
+          <span class="value">{{ item.addtime }}</span>
         </div>
       </div>
     </div>
@@ -91,14 +73,14 @@ export default {
 <style scoped>
 .order-management {
   min-height: 100vh;
-  background: #f5f5f5;
+  background: #ed4b39;;
   padding-bottom: 20px;
 }
 
 .nav-bar {
   height: 44px;
-  background-color: #ed4b39;
-  color: #fff;
+  background-color: #f8f8f8;
+  color: #000000;
   display: flex;
   align-items: center;
   position: relative;
@@ -116,8 +98,8 @@ export default {
 .arrow-left {
   width: 12px;
   height: 12px;
-  border-left: 2px solid #fff;
-  border-bottom: 2px solid #fff;
+  border-left: 2px solid #000000;
+  border-bottom: 2px solid #000000;
   transform: rotate(45deg);
 }
 
@@ -131,19 +113,48 @@ export default {
 
 .order-list {
   padding: 15px;
+  background-color: #ed4b39;
 }
 
-.mining-card {
+.product-list {
+  padding: 15px;
+}
+
+.product-card {
   background: #fff;
   border-radius: 12px;
-  padding: 15px;
-  margin-bottom: 15px;
+  padding: 18px 16px;
+  margin-bottom: 18px;
+  box-shadow: 0 2px 8px rgba(180,58,57,0.08);
 }
 
-.mining-card-header {
+.row {
   display: flex;
   justify-content: space-between;
   align-items: center;
+  margin-bottom: 8px;
+}
+
+.label {
+  font-weight: 600;
+  color: #333;
+}
+
+.value {
+  font-weight: 600;
+  color: #222;
+}
+
+.blue {
+  color: #1976d2;
+}
+
+.red {
+  color: #d32f2f;
+}
+
+.row:last-child {
+  margin-bottom: 0;
 }
 
 .header-left {
@@ -182,10 +193,11 @@ export default {
   transform: scaleY(0.5);
 }
 
-.earnings-details {
+.earnings-details2 {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
-  gap: 15px;
+  gap: 10px 30px;
+  margin: 10px 0 0 0;
 }
 
 .detail-item {
@@ -204,4 +216,22 @@ export default {
   color: #333;
   font-weight: 500;
 }
+
+.mining-title.red-flag {
+  color: #ed4b39;
+  font-weight: bold;
+  font-size: 15px;
+}
+
+.mining-card-footer {
+  margin-top: 10px;
+  display: flex;
+  align-items: center;
+}
+
+.footer-time {
+  font-size: 15px;
+  font-weight: bold;
+  color: #333;
+}
 </style> 

+ 11 - 4
src/views/Profile.vue

@@ -29,31 +29,38 @@
 
     <!-- 收益板块组 -->
     <div class="profit-section">
+      <div class="asset-card-v4">
+        <div class="asset-info-v4">
+          <span class="asset-label-v4">每日分红</span>
+          <span class="asset-amount-v4">{{ userInfo.dayred }}</span>
+        </div>
+        <button class="asset-btn-v4 button-click-effect" @click="handleRedFlagWithdraw">提现</button>
+      </div>
       <div class="asset-card-v4">
         <div class="asset-info-v4">
           <span class="asset-label-v4">科技分红</span>
-          <span class="asset-amount-v4">{{ userInfo.coins }}</span>
+          <span class="asset-amount-v4">{{ userInfo.kjfh }}</span>
         </div>
         <button class="asset-btn-v4 button-click-effect" @click="handleRedFlagWithdraw">提现</button>
       </div>
       <div class="asset-card-v4">
         <div class="asset-info-v4">
           <span class="asset-label-v4">保障金</span>
-          <span class="asset-amount-v4">{{ userInfo.txbt?userInfo.txbt:0 }}</span>
+          <span class="asset-amount-v4">{{ userInfo.coins?userInfo.coins:0 }}</span>
         </div>
         <button class="asset-btn-v4 button-click-effect" @click="handleRetirementWithdraw">提现</button>
       </div>
       <div class="asset-card-v4">
         <div class="asset-info-v4">
           <span class="asset-label-v4">养老金</span>
-          <span class="asset-amount-v4">{{ userInfo.dyxz?userInfo.dyxz:0 }}</span>
+          <span class="asset-amount-v4">{{ userInfo.score?userInfo.score:0 }}</span>
         </div>
         <button class="asset-btn-v4 button-click-effect" @click="handlePartySalaryWithdraw">提现</button>
       </div>
       <div class="asset-card-v4">
         <div class="asset-info-v4">
           <span class="asset-label-v4">科技股</span>
-          <span class="asset-amount-v4">{{ userInfo.dayred }}</span>
+          <span class="asset-amount-v4">{{ userInfo.guquan }}</span>
         </div>
         <button class="asset-btn-v4 button-click-effect" @click="handleDailyCashWithdraw">提现</button>
       </div>

+ 5 - 5
src/views/Signin.vue

@@ -17,13 +17,13 @@
               已签到<span class="sign_content_title_span days-count">{{ userInfo.sign_days || 0 }}</span>天
             </div>
             <div class="sign_content_title">
-              注册领取<span class="sign_content_title_span">10000</span>红旗资产
+              注册领取<span class="sign_content_title_span">100000</span>科技分
             </div>
             <div class="sign_content_title">
-              实名领取<span class="sign_content_title_span">18000</span>红旗资产
+              实名领取<span class="sign_content_title_span">60000</span>保障金
             </div>
             <div class="sign_content_title">
-              每日签到领取<span class="sign_content_title_span">2000</span>红旗资产+<span class="sign_content_title_span">2</span>元每日现金
+              每日签到领取<span class="sign_content_title_span">2000</span>保障金+<span class="sign_content_title_span">10</span>积分
             </div>
             <!-- <div class="sign_content_title">
               累计签到<span class="sign_content_title_span">15</span>天额外获得<span class="sign_content_title_span">58000</span>红旗资产
@@ -71,8 +71,8 @@
         </div>
         <div class="dialog-title success-title">签到成功</div>
         <div class="dialog-content">
-          <p>获得2000红旗资产</p>
-          <p>获得2元每日现金</p>
+          <p>获得2000保障金</p>
+          <p>获得10积分</p>
         </div>
         <button class="dialog-btn success-btn" @click="showSuccessDialog = false">确定</button>
       </div>

+ 19 - 1
src/views/register.vue

@@ -99,6 +99,7 @@ export default {
   },
   mounted() {
     this.generateCaptcha();
+    this.getInviteCodeFromUrl();
   },
   methods: {
     goBack() {
@@ -107,6 +108,21 @@ export default {
     goToLogin() {
       this.$router.push('/');
     },
+    getInviteCodeFromUrl() {
+      // 从URL参数中获取邀请码
+      const urlParams = new URLSearchParams(window.location.search);
+      const inviteCodeFromUrl = urlParams.get('invitecode');
+      
+      // 如果URL中有邀请码,自动填入
+      if (inviteCodeFromUrl) {
+        this.inviteCode = inviteCodeFromUrl;
+      }
+      
+      // 同时检查路由参数(Vue Router的方式)
+      if (this.$route.query.invitecode) {
+        this.inviteCode = this.$route.query.invitecode;
+      }
+    },
     generateCaptcha() {
       // 生成4个随机数字
       let code = '';
@@ -161,7 +177,9 @@ export default {
         if(res.code == 1){
           Toast("注册成功");
           this.isRotate = false;
-          this.$router.push('/');
+          setTimeout(() => {
+            this.$router.push('/');
+          }, 2000);
         }else{
           Toast(res.msg);
           this.isRotate = false;