chengjunhui 3 miesięcy temu
rodzic
commit
33c7b0bfce

+ 2 - 2
components/gift-score-popup/index.js

@@ -4,7 +4,7 @@ Component({
       type: Boolean,
       value: false,
     },
-    receiverId: {
+    receiveUserPhone: {
       type: String,
       value: "",
     },
@@ -32,7 +32,7 @@ Component({
     },
     handleConfirm() {
       this.triggerEvent("confirm", {
-        receiverId: (this.data.receiverId || "").trim(),
+        receiveUserPhone: (this.data.receiveUserPhone || "").trim(),
         score: this.data.score || "",
       });
     },

+ 2 - 1
components/gift-score-popup/index.wxml

@@ -13,8 +13,9 @@
             class="input"
             placeholder-class="placeholder"
             placeholder="请输入用户手机号"
-            value="{{receiverId}}"
+            value="{{receiveUserPhone}}"
             bindinput="handleReceiverInput"
+            maxlength="11"
           />
         </view>
         <view class="tip">请输入对方的手机号,赠送后不可撤回</view>

+ 69 - 34
pages/checkin/index_1874359642.js

@@ -21,31 +21,46 @@ Page({
     tasks: [],
     totalScore: 0,
     giftScoreVisible: false,
-    giftReceiverId: "",
+    receiveUserPhone: "",
     giftScore: "",
-    giftMinScore: 10,
-    giftMaxScore: 500,
-    giftRemainTimes: 3
+    giftMinScore: 0,
+    giftMaxScore: 0,
+    giftRemainTimes: 0
   },
-  onGiftScoreOpen() {
-    this.setData({ giftScoreVisible: true });
+  getPointsgiftconfig() {
+    let that = this;
+    App._get(`pointsgiftconfig/info/${util.getUserId()}`, {},
+      function (res) {
+        if (res.code == 0 && res.data) {
+          // console.log(res);
+          let config = res.data || {};
+          that.setData({
+            giftMinScore: config.minGiftPoints || 0,
+            giftMaxScore: config.maxGiftPoints || 0,
+            giftRemainTimes: config.surplusGiftCount || 0,
+            giftScoreVisible: true
+          });
+        }
+      });
   },
   onGiftScoreCancel() {
     this.setData({ giftScoreVisible: false });
   },
   onGiftReceiverChange(e) {
-    this.setData({ giftReceiverId: e.detail.value || "" });
+    this.setData({ receiveUserPhone: e.detail.value || "" });
   },
   onGiftScoreChange(e) {
     this.setData({ giftScore: e.detail.value || "" });
   },
   onGiftScoreConfirm(e) {
-    const receiverId = (e.detail && e.detail.receiverId) ? String(e.detail.receiverId).trim() : String(this.data.giftReceiverId || "").trim();
-    const scoreText = (e.detail && e.detail.score) ? String(e.detail.score) : String(this.data.giftScore || "");
+    const receiveUserPhone = (e.detail && e.detail.receiveUserPhone)
+      ? String(e.detail.receiveUserPhone).trim()
+      : String(this.data.receiveUserPhone || "").trim();
+    const scoreText = (e.detail && e.detail.score) ? String(e.detail.score) : String(this.data.giftScore || "");  
     const score = parseInt(scoreText, 10);
 
-    if (!receiverId) {
-      wx.showToast({ title: "请输入用户ID", icon: "none" });
+    if (!receiveUserPhone) {
+      wx.showToast({ title: "请输入接收用户手机号", icon: "none" });
       return;
     }
     if (!Number.isFinite(score) || String(score) !== String(scoreText).trim()) {
@@ -63,14 +78,34 @@ Page({
       wx.showToast({ title: "今日赠送次数已用完", icon: "none" });
       return;
     }
+    wx.showLoading({
+      title: '赠送中...',
+      mask: true,
+    })
+    let that = this;
+    App._post_form('scoreStu/giftPoints', "application/json", {
+      stuId: util.getUserId(),
+      receiveUserPhone,
+      giftScore: score,
+    },
+      function (res) {
+        if (res.code == 0) {
+          // console.log(res);
+          // wx.hideLoading();
+          that.setData({
+            giftScoreVisible: false,
+            receiveUserPhone: "",
+            giftScore: "",
+            giftRemainTimes: (that.data.giftRemainTimes || 0) - 1,
+          });
+          wx.showToast({ title: `成功赠送 ${score} 积分给用户 ${receiveUserPhone}`, icon: "none", duration: 3000 });
+          setTimeout(() => {
+            that.loadData();
+          }, 1000);
+        }
+      })
+
 
-    wx.showToast({ title: "赠送已提交", icon: "success" });
-    this.setData({
-      giftScoreVisible: false,
-      giftReceiverId: "",
-      giftScore: "",
-      giftRemainTimes: (this.data.giftRemainTimes || 0) - 1,
-    });
   },
   loadList() {
     let that = this;
@@ -87,7 +122,7 @@ Page({
           let list1 = res.data.infiniteTask ? [...res.data.infiniteTask] : [];
           let list2 = res.data.singleTask ? [...res.data.singleTask] : [];
           // console.log([...list, ...list1, ...list2]);
-          let dataList = [...list, ...list1, ...list2].map(v => { 
+          let dataList = [...list, ...list1, ...list2].map(v => {
             return v
           })
           that.setData({
@@ -360,7 +395,7 @@ Page({
       case '评价':
         break;
       case '分享小程序':
-        
+
         break;
       case '观看广告':
         this.showRewardedVideoAd();
@@ -384,19 +419,19 @@ Page({
     }
   },
   //统计积分(每日小程序分享)
-    addScore: function() {
-      if(!util.getUserId()){
-        return ;
-      }
-      wx.showLoading({
-        title: '努力加载中...',
-      })
-      App._post_form('scoreStu/share', "", {
-        stuId: util.getUserId()
-      }, function(res) {
-        if (res.code === 0) {}
-      })
-    },
+  addScore: function () {
+    if (!util.getUserId()) {
+      return;
+    }
+    wx.showLoading({
+      title: '努力加载中...',
+    })
+    App._post_form('scoreStu/share', "", {
+      stuId: util.getUserId()
+    }, function (res) {
+      if (res.code === 0) { }
+    })
+  },
   /**
    * 用户点击右上角分享
    */
@@ -438,7 +473,7 @@ Page({
   },
   /**
    * 查看广告
-   * */ 
+   * */
   showRewardedVideoAd: function (e) {
     // console.log('showRewardedVideoAd')
     this.selectComponent('.uni-rewarded-video-ad').show();

+ 2 - 2
pages/checkin/index_1874359642.wxml

@@ -8,7 +8,7 @@
           <text >{{userInfo.vipname}}</text>
           <image class="vip-icon" src="{{appAssetsUrl3}}user-icon/vip-icon3.png"></image>
         </view>
-        <view class="gift-entry" bindtap="onGiftScoreOpen">
+        <view class="gift-entry" bindtap="getPointsgiftconfig">
           <view class="gift-icon"></view>
           <text class="gift-text">赠送积分</text>
         </view>
@@ -84,7 +84,7 @@
 
   <gift-score-popup
     visible="{{giftScoreVisible}}"
-    receiverId="{{giftReceiverId}}"
+    receiveUserPhone="{{receiveUserPhone}}"
     score="{{giftScore}}"
     minScore="{{giftMinScore}}"
     maxScore="{{giftMaxScore}}"

+ 1 - 1
pages/home/index/index.wxml

@@ -98,7 +98,7 @@
       </view>
       <view class="enterprise-box">
         <view class="enterprise-item" wx:for="{{enterpriseList}}" wx:key="id" bindtap="enterpriseDetail" data-id="{{item.id}}">
-          <image mode="aspectFill" src="{{item.enterpriseLogo}}" class='enterprise-img'></image>
+          <image mode="aspectFill" src="{{item.enterpriseLogo + '?x-oss-process=style/w_300'}}" class='enterprise-img'></image>
           <view class="enterprise-info">
             <view class="enterprise-name">{{item.enterpriseName}}</view>
             <view class="enterprise-tab-list" wx:if="{{item.tags && item.tags.length}}">

+ 2 - 2
pages/my/enterprise/list/details/index.wxml

@@ -2,7 +2,7 @@
   <view class="top">
     <view class="top-card">
       <view class="logo-wrap">
-        <image class="logo" wx:if="{{detail.enterpriseLogo}}" src="{{detail.enterpriseLogo}}" mode="aspectFill" />
+        <image class="logo" wx:if="{{detail.enterpriseLogo}}" src="{{detail.enterpriseLogo + '?x-oss-process=style/w_300'}}" mode="aspectFill" />
         <view class="logo logo--placeholder" wx:else></view>
       </view>
       <view class="top-main">
@@ -27,7 +27,7 @@
     </view>
     <view class="gallery">
       <view class="gallery-item" wx:for="{{gallery}}" wx:key="index" bindtap="onPreview" data-src="{{item}}">
-        <image class="gallery-img" wx:if="{{item}}" src="{{item}}" mode="aspectFill" />
+        <image class="gallery-img" wx:if="{{item}}" src="{{item + '?x-oss-process=style/w_300'}}" mode="aspectFill" />
         <view class="gallery-img gallery-img--placeholder" wx:else></view>
       </view>
     </view>

+ 1 - 1
pages/my/enterprise/list/index.wxml

@@ -2,7 +2,7 @@
   <view class="list">
     <view class="item" wx:for="{{list}}" wx:key="id" bindtap="onViewDetail" data-id="{{item.id}}">
       <view class="thumb-wrap">
-        <image class="thumb" wx:if="{{item.enterpriseLogo}}" src="{{item.enterpriseLogo}}" mode="aspectFill" />
+        <image class="thumb" wx:if="{{item.enterpriseLogo}}" src="{{item.enterpriseLogo + '?x-oss-process=style/w_300'}}" mode="aspectFill" />
         <view class="thumb thumb--placeholder" wx:else></view>
       </view>
 

+ 158 - 0
pages/my/index/index copy.wxml

@@ -0,0 +1,158 @@
+<!-- pages/my/index/index.wxml -->
+<view class="mycontent" style="background-image: url('{{appAssetsUrl3}}user-icon/user-bg.png');">
+    <!-- 自定义导航栏 -->
+    <view class="custom-navbar" style="background-image: url('{{appAssetsUrl3}}user-icon/user-bg1.png');padding-top:{{statusBarHeightTop}}">
+        <view class="navbar-content {{activeTitle ? 'activeTitle' : ''}}" style="padding-top:{{statusBarHeightTop}}">
+            <view class="navbar-left">
+                <view class="customer-service" bindtap="onCustomerServiceTap">
+                    <image src="{{appAssetsUrl3}}user-icon/icon_kefu.png" class="service-icon"></image>
+                    <text>客服</text>
+                </view>
+            </view>
+            <view class="navbar-center">
+                <text class="navbar-title">我的</text>
+            </view>
+        </view>
+        <!-- 用户信息区域 -->
+        <view class="head">
+            <view class="user-info-container">
+                <view class="user-basic-info" bindtap="onLogin">
+                    <view class="avatar-section">
+                        <image src='{{userInfo.memberphoto?userInfo.memberphoto:("/assets/images/logo.jpg")}}' class="user-avatar" bindtap="onAvatarTap"></image>
+                    </view>
+                    <view class="user-details" wx:if="{{isLogin}}">
+                        <view class="user-name-row" bindtap="onAvatarTap">
+                            <text class="user-name">{{userInfo.vipname || '--'}}</text>
+                            <image class="vip-icon" wx:if="{{userInfo.memberState != 0 &&  userInfo.memberState}}" src="{{appAssetsUrl3}}user-icon/vip-icon3.png"></image>
+                            <image wx:if="{{userInfo.sex}}" mode="aspectFill" src="{{ userInfo.sex == '010' ? appAssetsUrl2+'wjxy/man.png' : appAssetsUrl2+'wjxy/wumen.png'}}" class="sex" />
+                        </view>
+                        <view class="user-id-row">
+                            <!-- <text class="user-id">ID: {{userInfo.id || ''}}</text> -->
+                            <view class="check-in" bindtap="onDailySignTap">
+                                <image src="{{appAssetsUrl3}}user-icon/icon_6.png" class="service-icon"></image>
+                                <text>签到</text>
+                            </view>
+                        </view>
+                    </view>
+                    <view wx:if="{{!isLogin}}">点击登录</view>
+                    <view class="qr-code-section" bindtap="onQRCodeTap" wx:if="{{isLogin}}">
+                        <!-- <image src="{{appAssetsUrl2}}my/qrcode-icon.png" class="qr-icon"></image> -->
+                        <image src='{{appAssetsUrl3}}user-icon/inviteCode1.png' class="qr-icon"></image>
+                        <view class="qr-text">会员码</view>
+                    </view>
+                </view>
+                <!-- 会员升级提示 -->
+                <view class="vip-upgrade-banner" bindtap="onVipUpgradeTap" style="background-image: url('{{appAssetsUrl3}}user-icon/vip-upgrade-bg.png');" wx:if="{{!isDev &&  isLogin}}">
+                    <view class="vip-banner-left" wx:if="{{userInfo.memberState != 0}}">
+                        <image src="{{appAssetsUrl3}}user-icon/vip-icon2.png" class="upgrade-icon"></image>
+                        <text class="upgrade-text">青雲慧 {{userInfo.cardno}}</text>
+                    </view>
+                    <view class="vip-banner-left" wx:else>
+                        <image src="{{appAssetsUrl3}}user-icon/vip-icon.png" class="upgrade-icon"></image>
+                        <text class="upgrade-text">升级会员立享更多权益</text>
+                    </view>
+                    <view class="vip-banner-right">
+                        <text class="upgrade-btn" wx:if="{{userInfo.memberState == 0}}">开通会员</text>
+                        <text class="upgrade-btn" wx:if="{{userInfo.memberState == 1}}">升级会员</text>
+                        <text class="upgrade-btn" wx:if="{{userInfo.memberState == 2}}">已是终身会员</text>
+                        <text class="iconfont icon-jiantou righticon"></text>
+                    </view>
+                </view>
+            </view>
+        </view>
+    </view>
+    <!-- 主要内容区域 -->
+    <view class="main-content">
+        <!-- 我的积分 -->
+        <view class="points-card">
+            <view class="points-left">
+                <image src="{{appAssetsUrl3}}user-icon/user-brick.png" class="points-icon"></image>
+                <view class="points-info" bindtap="onPointsTap">
+                    <text class="points-label">我的积分</text>
+                    <text class="points-value">{{totalScore || 0}}</text>
+                </view>
+            </view>
+            <view class="points-right" bindtap="onDailySignTap">
+                <text class="points-action">做任务</text>
+                <text class="iconfont icon-jiantou righticon"></text>
+            </view>
+        </view>
+        <!-- 我的报名 -->
+        <view class="my-registration">
+            <view class="section-title">我的报名</view>
+            <view class="registration-cards">
+                <image src="{{appAssetsUrl3}}user-icon/user-job-icon.png" class="card-icon" bindtap="onJobRegistrationTap"></image>
+                <image src="{{appAssetsUrl3}}user-icon/user-activity-icon.png" class="card-icon" bindtap="onActivityRegistrationTap"></image>
+                <image src="{{appAssetsUrl3}}user-icon/appointment-icon.png" class="card-icon" bindtap="seeMeet"></image>
+            </view>
+        </view>
+        <!-- 功能菜单列表 -->
+        <view class="menu-list">
+            <view class="menu-item" bindtap="onStudentVerificationTap">
+                <view class="menu-left">
+                    <image src="{{appAssetsUrl3}}user-icon/icon_1.png" class="menu-icon"></image>
+                    <text class="menu-text">学籍认证</text>
+                </view>
+                <text class="iconfont icon-jiantou righticon"></text>
+            </view>
+            <view class="menu-item" bindtap="onMyWalletTap">
+                <view class="menu-left">
+                    <image src="{{appAssetsUrl3}}user-icon/icon_2.png" class="menu-icon"></image>
+                    <text class="menu-text">我的钱包</text>
+                </view>
+                <text class="iconfont icon-jiantou righticon"></text>
+            </view>
+            <view class="menu-item" bindtap="onEnterpriseResidenceTap">
+                <view class="menu-left">
+                    <image src="{{appAssetsUrl3}}user-icon/icon_2.png" class="menu-icon"></image>
+                    <text class="menu-text">{{ 
+                        enterpriseInfo.id && enterpriseInfo.auditStatus == 1 ? '我的企业' : '企业入驻' 
+                    }}</text>
+                </view>
+                <text class="iconfont icon-jiantou righticon"></text>
+            </view>
+            <view class="menu-item" bindtap="onMyCollectionTap">
+                <view class="menu-left">
+                    <image src="{{appAssetsUrl3}}user-icon/icon_3.png" class="menu-icon"></image>
+                    <text class="menu-text">我的收藏</text>
+                </view>
+                <text class="iconfont icon-jiantou righticon"></text>
+            </view>
+            <view class="menu-item" bindtap="toOrderRecord">
+                <view class="menu-left">
+                    <image src="{{appAssetsUrl3}}user-icon/icon_7.png" class="menu-icon"></image>
+                    <text class="menu-text">订单管理</text>
+                </view>
+                <text class="iconfont icon-jiantou righticon"></text>
+            </view>
+            <view class="menu-item" bindtap="handleMsg">
+                <view class="menu-left">
+                    <image src="{{appAssetsUrl3}}user-icon/icon_8.png" class="menu-icon"></image>
+                    <text class="menu-text">消息通知</text>
+                </view>
+                <text class="iconfont icon-jiantou righticon"></text>
+            </view>
+            <view class="menu-item" bindtap="handleWork" wx:if="{{userInfo.memberRoleStatus == 3 || userInfo.memberRoleStatus == 4 || userInfo.memberRoleStatus == 5}}">
+                <view class="menu-left">
+                    <image src="{{appAssetsUrl3}}user-icon/icon_13.png" class="menu-icon"></image>
+                    <text class="menu-text">行家工作台</text>
+                </view>
+                <text class="iconfont icon-jiantou righticon"></text>
+            </view>
+            <view class="menu-item" bindtap="onFAQTap">
+                <view class="menu-left">
+                    <image src="{{appAssetsUrl3}}user-icon/icon_4.png" class="menu-icon"></image>
+                    <text class="menu-text">常见问题</text>
+                </view>
+                <text class="iconfont icon-jiantou righticon"></text>
+            </view>
+            <view class="menu-item" bindtap="onMySettingsTap">
+                <view class="menu-left">
+                    <image src="{{appAssetsUrl3}}user-icon/icon_5.png" class="menu-icon"></image>
+                    <text class="menu-text">我的设置</text>
+                </view>
+                <text class="iconfont icon-jiantou righticon"></text>
+            </view>
+        </view>
+    </view>
+</view>

+ 1 - 1
pages/my/index/index.js

@@ -381,7 +381,7 @@ Page({
       `enterprise/info/${util.getUserId()}`,
       {},
       (res) => {
-        console.log(res);
+        // console.log(res);
         if (res.code === 0) {
           that.setData({
             enterpriseInfo: res.data || {},

+ 87 - 91
pages/my/index/index.wxml

@@ -4,19 +4,16 @@
     <view class="custom-navbar" style="background-image: url('{{appAssetsUrl3}}user-icon/user-bg1.png');padding-top:{{statusBarHeightTop}}">
         <view class="navbar-content {{activeTitle ? 'activeTitle' : ''}}" style="padding-top:{{statusBarHeightTop}}">
             <view class="navbar-left">
-                <view class="customer-service" bindtap="onCustomerServiceTap">
-                    <image src="{{appAssetsUrl3}}user-icon/icon_kefu.png" class="service-icon"></image>
-                    <text>客服</text>
-                </view>
             </view>
             <view class="navbar-center">
                 <text class="navbar-title">我的</text>
             </view>
+            <view class="navbar-right"></view>
         </view>
         <!-- 用户信息区域 -->
         <view class="head">
             <view class="user-info-container">
-                <view class="user-basic-info" bindtap="onLogin">
+                <view class="user-basic-info">
                     <view class="avatar-section">
                         <image src='{{userInfo.memberphoto?userInfo.memberphoto:("/assets/images/logo.jpg")}}' class="user-avatar" bindtap="onAvatarTap"></image>
                     </view>
@@ -27,20 +24,44 @@
                             <image wx:if="{{userInfo.sex}}" mode="aspectFill" src="{{ userInfo.sex == '010' ? appAssetsUrl2+'wjxy/man.png' : appAssetsUrl2+'wjxy/wumen.png'}}" class="sex" />
                         </view>
                         <view class="user-id-row">
-                            <!-- <text class="user-id">ID: {{userInfo.id || ''}}</text> -->
+                            <text class="user-id">ID: {{userInfo.id || ''}}</text>
                             <view class="check-in" bindtap="onDailySignTap">
                                 <image src="{{appAssetsUrl3}}user-icon/icon_6.png" class="service-icon"></image>
                                 <text>签到</text>
                             </view>
                         </view>
                     </view>
-                    <view wx:if="{{!isLogin}}">点击登录</view>
-                    <view class="qr-code-section" bindtap="onQRCodeTap" wx:if="{{isLogin}}">
-                        <!-- <image src="{{appAssetsUrl2}}my/qrcode-icon.png" class="qr-icon"></image> -->
-                        <image src='{{appAssetsUrl3}}user-icon/inviteCode1.png' class="qr-icon"></image>
-                        <view class="qr-text">会员码</view>
+                    <view class="user-details" wx:else bindtap="onLogin">
+                        <view class="user-name-row">
+                            <text class="user-name">点击登录</text>
+                        </view>
+                        <view class="user-id-row">
+                            <text class="user-id">ID: --</text>
+                        </view>
                     </view>
                 </view>
+                <view class="cs-float" bindtap="onCustomerServiceTap">
+                    <image src="{{appAssetsUrl3}}user-icon/icon_kefu.png" class="cs-icon"></image>
+                    <text class="cs-text">客服</text>
+                </view>
+
+                <view class="stats-row">
+                    <view class="stat-card" bindtap="onPointsTap">
+                        <view class="stat-main">
+                            <view class="stat-value">{{totalScore || 0}}</view>
+                            <view class="stat-sub">做任务得积分</view>
+                        </view>
+                        <image src="{{appAssetsUrl3}}user-icon/user-brick.png" class="stat-illus"></image>
+                    </view>
+                    <view class="stat-card stat-card--code" bindtap="onQRCodeTap">
+                        <view class="stat-main">
+                            <view class="stat-title">会员码</view>
+                            <view class="stat-sub">查看会员码</view>
+                        </view>
+                        <image src="{{appAssetsUrl3}}user-icon/inviteCode1.png" class="stat-illus stat-illus--code"></image>
+                    </view>
+                </view>
+
                 <!-- 会员升级提示 -->
                 <view class="vip-upgrade-banner" bindtap="onVipUpgradeTap" style="background-image: url('{{appAssetsUrl3}}user-icon/vip-upgrade-bg.png');" wx:if="{{!isDev &&  isLogin}}">
                     <view class="vip-banner-left" wx:if="{{userInfo.memberState != 0}}">
@@ -63,96 +84,71 @@
     </view>
     <!-- 主要内容区域 -->
     <view class="main-content">
-        <!-- 我的积分 -->
-        <view class="points-card">
-            <view class="points-left">
-                <image src="{{appAssetsUrl3}}user-icon/user-brick.png" class="points-icon"></image>
-                <view class="points-info" bindtap="onPointsTap">
-                    <text class="points-label">我的积分</text>
-                    <text class="points-value">{{totalScore || 0}}</text>
-                </view>
-            </view>
-            <view class="points-right" bindtap="onDailySignTap">
-                <text class="points-action">做任务</text>
-                <text class="iconfont icon-jiantou righticon"></text>
-            </view>
-        </view>
         <!-- 我的报名 -->
-        <view class="my-registration">
-            <view class="section-title">我的报名</view>
-            <view class="registration-cards">
-                <image src="{{appAssetsUrl3}}user-icon/user-job-icon.png" class="card-icon" bindtap="onJobRegistrationTap"></image>
-                <image src="{{appAssetsUrl3}}user-icon/user-activity-icon.png" class="card-icon" bindtap="onActivityRegistrationTap"></image>
-                <image src="{{appAssetsUrl3}}user-icon/appointment-icon.png" class="card-icon" bindtap="seeMeet"></image>
+        <view class="panel">
+            <view class="panel-title">我的报名</view>
+            <view class="apply-row">
+                <view class="apply-card apply-card--job" bindtap="onJobRegistrationTap">
+                    <view class="apply-text">
+                        <view class="apply-name">兼职</view>
+                        <view class="apply-desc">我报名的兼职</view>
+                    </view>
+                    <image src="{{appAssetsUrl3}}user-icon/user-job-icon.png" class="apply-illus"></image>
+                </view>
+                <view class="apply-card apply-card--act" bindtap="onActivityRegistrationTap">
+                    <view class="apply-text">
+                        <view class="apply-name">活动</view>
+                        <view class="apply-desc">参与的活动</view>
+                    </view>
+                    <image src="{{appAssetsUrl3}}user-icon/user-activity-icon.png" class="apply-illus"></image>
+                </view>
             </view>
         </view>
-        <!-- 功能菜单列表 -->
-        <view class="menu-list">
-            <view class="menu-item" bindtap="onStudentVerificationTap">
-                <view class="menu-left">
-                    <image src="{{appAssetsUrl3}}user-icon/icon_1.png" class="menu-icon"></image>
-                    <text class="menu-text">学籍认证</text>
-                </view>
-                <text class="iconfont icon-jiantou righticon"></text>
-            </view>
-            <view class="menu-item" bindtap="onMyWalletTap">
-                <view class="menu-left">
-                    <image src="{{appAssetsUrl3}}user-icon/icon_2.png" class="menu-icon"></image>
-                    <text class="menu-text">我的钱包</text>
+
+        <view class="panel">
+            <view class="panel-title">其它应用</view>
+            <view class="app-grid">
+                <view class="app-item" bindtap="onStudentVerificationTap">
+                    <image src="{{appAssetsUrl3}}user-icon/icon_1.png" class="app-icon"></image>
+                    <view class="app-text">学籍认证</view>
                 </view>
-                <text class="iconfont icon-jiantou righticon"></text>
-            </view>
-            <view class="menu-item" bindtap="onEnterpriseResidenceTap">
-                <view class="menu-left">
-                    <image src="{{appAssetsUrl3}}user-icon/icon_2.png" class="menu-icon"></image>
-                    <text class="menu-text">{{ 
-                        enterpriseInfo.id && enterpriseInfo.auditStatus == 1 ? '我的企业' : '企业入驻' 
-                    }}</text>
-                </view>
-                <text class="iconfont icon-jiantou righticon"></text>
-            </view>
-            <view class="menu-item" bindtap="onMyCollectionTap">
-                <view class="menu-left">
-                    <image src="{{appAssetsUrl3}}user-icon/icon_3.png" class="menu-icon"></image>
-                    <text class="menu-text">我的收藏</text>
+                <view class="app-item" bindtap="onMyWalletTap">
+                    <image src="{{appAssetsUrl3}}user-icon/icon_2.png" class="app-icon"></image>
+                    <view class="app-text">我的钱包</view>
                 </view>
-                <text class="iconfont icon-jiantou righticon"></text>
-            </view>
-            <view class="menu-item" bindtap="toOrderRecord">
-                <view class="menu-left">
-                    <image src="{{appAssetsUrl3}}user-icon/icon_7.png" class="menu-icon"></image>
-                    <text class="menu-text">订单管理</text>
+                <view class="app-item" bindtap="onEnterpriseResidenceTap">
+                    <image src="{{appAssetsUrl3}}user-icon/icon_2.png" class="app-icon"></image>
+                    <view class="app-text">{{enterpriseInfo.id && enterpriseInfo.auditStatus == 1 ? '我的企业' : '企业入驻'}}</view>
                 </view>
-                <text class="iconfont icon-jiantou righticon"></text>
-            </view>
-            <view class="menu-item" bindtap="handleMsg">
-                <view class="menu-left">
-                    <image src="{{appAssetsUrl3}}user-icon/icon_8.png" class="menu-icon"></image>
-                    <text class="menu-text">消息通知</text>
+                <view class="app-item" bindtap="onMyCollectionTap">
+                    <image src="{{appAssetsUrl3}}user-icon/icon_3.png" class="app-icon"></image>
+                    <view class="app-text">我的收藏</view>
                 </view>
-                <text class="iconfont icon-jiantou righticon"></text>
-            </view>
-            <view class="menu-item" bindtap="handleWork" wx:if="{{userInfo.memberRoleStatus == 3 || userInfo.memberRoleStatus == 4 || userInfo.memberRoleStatus == 5}}">
-                <view class="menu-left">
-                    <image src="{{appAssetsUrl3}}user-icon/icon_13.png" class="menu-icon"></image>
-                    <text class="menu-text">行家工作台</text>
+                <view class="app-item" bindtap="toOrderRecord">
+                    <image src="{{appAssetsUrl3}}user-icon/icon_7.png" class="app-icon"></image>
+                    <view class="app-text">订单管理</view>
                 </view>
-                <text class="iconfont icon-jiantou righticon"></text>
-            </view>
-            <view class="menu-item" bindtap="onFAQTap">
-                <view class="menu-left">
-                    <image src="{{appAssetsUrl3}}user-icon/icon_4.png" class="menu-icon"></image>
-                    <text class="menu-text">常见问题</text>
+                <view class="app-item" bindtap="handleMsg">
+                    <image src="{{appAssetsUrl3}}user-icon/icon_8.png" class="app-icon"></image>
+                    <view class="app-text">消息通知</view>
                 </view>
-                <text class="iconfont icon-jiantou righticon"></text>
-            </view>
-            <view class="menu-item" bindtap="onMySettingsTap">
-                <view class="menu-left">
-                    <image src="{{appAssetsUrl3}}user-icon/icon_5.png" class="menu-icon"></image>
-                    <text class="menu-text">我的设置</text>
+                <view class="app-item" bindtap="handleWork" wx:if="{{userInfo.memberRoleStatus == 3 || userInfo.memberRoleStatus == 4 || userInfo.memberRoleStatus == 5}}">
+                    <image src="{{appAssetsUrl3}}user-icon/icon_13.png" class="app-icon"></image>
+                    <view class="app-text">行家工作台</view>
+                </view>
+                <view class="app-item" bindtap="onCustomerServiceTap">
+                    <image src="{{appAssetsUrl3}}user-icon/icon_kefu.png" class="app-icon"></image>
+                    <view class="app-text">联系客服</view>
+                </view>
+                <view class="app-item" bindtap="onFAQTap">
+                    <image src="{{appAssetsUrl3}}user-icon/icon_4.png" class="app-icon"></image>
+                    <view class="app-text">常见问题</view>
+                </view>
+                <view class="app-item" bindtap="onMySettingsTap">
+                    <image src="{{appAssetsUrl3}}user-icon/icon_5.png" class="app-icon"></image>
+                    <view class="app-text">我的设置</view>
                 </view>
-                <text class="iconfont icon-jiantou righticon"></text>
             </view>
         </view>
     </view>
-</view>
+</view>

+ 141 - 165
pages/my/index/index.wxss

@@ -3,7 +3,6 @@
   min-height: calc(100vh - 4rpx);
   background-size: 100% 100%;
   background-repeat: no-repeat;
-  /* background-color: #f7f8fa; */
   box-sizing: border-box;
 }
 
@@ -32,33 +31,8 @@
 }
 
 .navbar-left {
-  position: relative;
-}
-
-.customer-service {
-  width: 136rpx;
-  display: flex;
-  align-items: center;
-  background: #2b58a5;
-  border-radius: 30rpx;
-  padding: 12rpx 24rpx;
-  position: absolute;
-  left: 0;
-  top: -28rpx;
-  box-sizing: border-box;
-}
-
-.service-icon {
-  width: 34rpx;
-  height: 34rpx;
-  margin-right: 8rpx;
-  flex-shrink: 0;
-}
-
-.customer-service text {
-  flex-shrink: 0;
-  font-size: 24rpx;
-  color: #ffffff;
+  width: 88rpx;
+  height: 88rpx;
 }
 
 .navbar-center {
@@ -69,11 +43,10 @@
 .navbar-title {
   font-size: 36rpx;
   font-weight: 600;
-  /* color: #FFFFFF; */
 }
 
 .navbar-right {
-  flex: 1;
+  width: 88rpx;
   display: flex;
   justify-content: flex-end;
 }
@@ -93,11 +66,11 @@
 
 .user-info-container {
   padding: 0 30rpx 40rpx;
+  position: relative;
 }
 
 .user-basic-info {
   display: flex;
-  /* align-items: flex-start; */
   align-items: center;
   margin-bottom: 30rpx;
 }
@@ -111,19 +84,15 @@
   width: 120rpx;
   height: 120rpx;
   border-radius: 50%;
-  /* border: 4rpx solid #ffffff;
-  box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1); */
 }
 
 .user-details {
   flex: 1;
-  /* padding-top: 8rpx; */
 }
 
 .user-name-row {
   display: flex;
   align-items: center;
-  /* margin-bottom: 12rpx; */
 }
 
 .user-name-row .sex{
@@ -134,7 +103,6 @@
 .user-name {
   font-size: 36rpx;
   font-weight: 600;
-  /* color: #FFFFFF; */
   margin-right: 10rpx;
 }
 
@@ -190,24 +158,87 @@
   height: 22rpx;
 }
 
-.qr-code-section {
-  flex-shrink: 0;
-  padding: 0 0 0 16rpx;
-  margin-right: 57rpx;
-  text-align: center;
+.cs-float {
+  position: absolute;
+  right: 30rpx;
+  top: 4rpx;
+  width: 112rpx;
+  height: 112rpx;
+  border-radius: 56rpx;
+  background: #2b58a5;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  box-shadow: 0 12rpx 26rpx rgba(43, 88, 165, 0.22);
 }
 
-.qr-icon {
-  width: 57rpx;
-  height: 57rpx;
-  /* margin-bottom: 5rpx; */
-  /* background: #ecf6ff; */
-  /* border-radius: 10rpx; */
+.cs-icon {
+  width: 46rpx;
+  height: 46rpx;
 }
 
-.qr-text {
+.cs-text {
+  margin-top: 6rpx;
+  font-size: 22rpx;
+  color: #ffffff;
+  line-height: 30rpx;
+}
+
+.stats-row {
+  display: flex;
+  gap: 18rpx;
+  margin-top: 16rpx;
+}
+
+.stat-card {
+  flex: 1;
+  background: rgba(255, 255, 255, 0.92);
+  border-radius: 20rpx;
+  padding: 22rpx 22rpx;
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  box-sizing: border-box;
+}
+
+.stat-main {
+  min-width: 0;
+}
+
+.stat-value {
+  font-size: 34rpx;
+  font-weight: 800;
+  color: #111111;
+  line-height: 44rpx;
+}
+
+.stat-title {
+  font-size: 30rpx;
+  font-weight: 700;
+  color: #111111;
+  line-height: 40rpx;
+}
+
+.stat-sub {
+  margin-top: 6rpx;
   font-size: 24rpx;
-  color: #1a1a1a;
+  color: #8a8a8a;
+  line-height: 32rpx;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.stat-illus {
+  width: 62rpx;
+  height: 62rpx;
+  flex-shrink: 0;
+}
+
+.stat-illus--code {
+  width: 70rpx;
+  height: 70rpx;
 }
 
 /* 会员升级提示 */
@@ -219,6 +250,7 @@
   justify-content: space-between;
   background-size: cover ;
   background-repeat: no-repeat;
+  margin-top: 18rpx;
 }
 
 .vip-banner-left {
@@ -262,164 +294,108 @@
 
 /* 主要内容区域 */
 .main-content {
-  padding: 30rpx;
-  margin-top: -40rpx;
+  padding: 20rpx 30rpx 40rpx;
+  margin-top: -10rpx;
   position: relative;
   z-index: 10;
 }
 
-/* 我的积分 */
-.points-card {
-  background: linear-gradient(180deg, #e5eafe, #ffffff 47%);
+.panel {
+  background: #ffffff;
   border-radius: 20rpx;
-  padding: 30rpx;
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-  /* box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.06); */
-  margin-bottom: 30rpx;
-  /* border: 2rpx dashed #e0e0e0; */
-}
-
-.points-left {
-  display: flex;
-  align-items: center;
-  flex: 1;
+  padding: 26rpx 24rpx 30rpx;
+  box-sizing: border-box;
+  margin-top: 20rpx;
 }
 
-.points-icon {
-  width: 48px;
-  height: 48px;
-  margin-right: 15rpx;
+.panel-title {
+  font-size: 32rpx;
+  font-weight: 700;
+  color: #111111;
+  line-height: 44rpx;
 }
 
-.points-info {
+.apply-row {
   display: flex;
-  flex-direction: column;
+  gap: 18rpx;
+  margin-top: 18rpx;
 }
 
-.points-label {
-  font-size: 24rpx;
-  color: #666666;
-  margin-bottom: 8rpx;
-}
-
-.points-value {
-  font-size: 48rpx;
-  font-weight: bold;
-  color: #4a90e2;
-}
-
-.points-right {
+.apply-card {
+  flex: 1;
+  border-radius: 18rpx;
+  padding: 22rpx 20rpx;
   display: flex;
   align-items: center;
-  /* width: 188rpx; */
-  padding: 0 30rpx 0 42rpx;
-  height: 61rpx;
-  background: #ffffff;
-  border: 1rpx solid #5790f7;
-  border-radius: 32rpx;
-  justify-content: center;
+  justify-content: space-between;
   box-sizing: border-box;
+  overflow: hidden;
 }
 
-.points-action {
-  font-size: 24rpx;
-  color: #4a90e2;
-  /* margin-right: 8rpx; */
+.apply-card--job {
+  background: #eaf3ff;
 }
 
-.points-right .righticon{
-    font-size: 36rpx !important;
-    color: #4a90e2 !important;
+.apply-card--act {
+  background: #fff3df;
 }
 
-/* 我的报名 */
-.my-registration {
-  margin-bottom: 30rpx;
-  /* height: 259px; */
-  background: #ffffff;
-  border-radius: 20rpx;
-  padding: 40rpx 20rpx;
+.apply-text {
+  min-width: 0;
 }
 
-.section-title {
-  font-size: 36rpx;
-  font-weight: 600;
-  color: #1a1a1a;
-  margin-bottom: 20rpx;
-  display: inline-block;
-  position: relative;
+.apply-name {
+  font-size: 30rpx;
+  font-weight: 700;
+  color: #111111;
+  line-height: 40rpx;
 }
 
-.section-title::after {
-  display: block;
-  content: "";
-  position: absolute;
-  top: -6rpx;
-  right: -3%;
-  width: 30rpx;
-  height: 30rpx;
-  background-color: #005eff42;
-  border-radius: 50%;
-  z-index: 1;
-}
-
-.registration-cards {
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
+.apply-desc {
+  margin-top: 8rpx;
+  font-size: 24rpx;
+  color: #7a7a7a;
+  line-height: 32rpx;
 }
 
-.card-icon {
-  width: 210rpx;
-  height: 113rpx;
+.apply-illus {
+  width: 120rpx;
+  height: 90rpx;
+  flex-shrink: 0;
 }
 
-/* 功能菜单列表 */
-.menu-list {
-  background: #ffffff;
-  border-radius: 20rpx;
-  overflow: hidden;
-  box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.06);
+.app-grid {
+  margin-top: 16rpx;
+  display: flex;
+  flex-wrap: wrap;
 }
 
-.menu-item {
+.app-item {
+  width: 25%;
+  padding: 22rpx 0;
   display: flex;
+  flex-direction: column;
   align-items: center;
-  justify-content: space-between;
-  padding: 32rpx 30rpx;
-  border-bottom: 1rpx solid #f5f5f5;
-  transition: background-color 0.2s ease;
-}
-
-.menu-item:last-child {
-  border-bottom: none;
-}
-
-.menu-item:active {
-  background-color: #f8f9fa;
+  justify-content: center;
+  box-sizing: border-box;
 }
 
-.menu-left {
-  display: flex;
-  align-items: center;
-  flex: 1;
+.app-item:active {
+  opacity: 0.9;
 }
 
-.menu-icon {
-  width: 39rpx;
-  height: 39rpx;
-  margin-right: 20rpx;
+.app-icon {
+  width: 64rpx;
+  height: 64rpx;
 }
 
-.menu-text {
-  font-size: 28rpx;
+.app-text {
+  margin-top: 12rpx;
+  font-size: 24rpx;
   color: #333333;
+  line-height: 32rpx;
 }
 
-.menu-item .righticon,
-.points-right .righticon,
 .vip-banner-right .righticon {
   font-size: 40rpx;
   color: #cccccc;

+ 9 - 2
project.private.config.json

@@ -3,12 +3,19 @@
     "miniprogram": {
       "list": [
         {
-          "name": "名企展示",
-          "pathName": "pages/my/enterprise/list/index",
+          "name": "签到",
+          "pathName": "pages/checkin/index_1874359642",
           "query": "",
           "scene": null,
           "launchMode": "default"
         },
+        {
+          "name": "名企展示",
+          "pathName": "pages/my/enterprise/list/index",
+          "query": "",
+          "launchMode": "default",
+          "scene": null
+        },
         {
           "name": "我的钱包",
           "pathName": "pages/my/myWallet/index",