微信小程序--个人中心:tab切换-高级版

微信小程序–个人中心

包含功能点:

  • tab切换-高级版
  • 全部订单-待付款-待收货-退款退货

结构:user.wxml

<view class="user_info_wrap">
  <view class="user_img_wrap" wx:if="{{userinfo.avatarUrl}}">
    <image class="user_bg" src="{{userinfo.avatarUrl}}"></image>
    <view class="user_info">
      <image class="user_icon" src="{{userinfo.avatarUrl}}"></image>
      <view class="user_name">{{userinfo.nickName}}</view>
    </view>
  </view>
  <view class="user_btn" wx:else>
    <navigator url="/pages/login/login" open-type="navigate">登录</navigator>
  </view>
</view>
<view class="user_content">
  <view class="user_main">
    <!-- 历史足迹 -->
    <view class="history_wrap">
      <navigator class="navigator">
        <view class="his_num">0</view>
        <view class="his_name">收藏的店铺</view>
      </navigator>
      <navigator class="navigator" url="/pages/collect/collect">
        <view class="his_num">{{collectNums}}</view>
        <view class="his_name">收藏的商品</view>
      </navigator>
      <navigator class="navigator">
        <view class="his_num">0</view>
        <view class="his_name">关注的商品</view>
      </navigator>
      <navigator class="navigator">
        <view class="his_num">0</view>
        <view class="his_name">我的足迹</view>
      </navigator>
    </view>
    <!-- 我的订单 -->
    <view class="orders_wrap">
      <view class="orders_title">我的订单</view>
      <view class="order_content">
        <navigator url="/pages/order/order?type=1">
          <view class="iconfont  icon-quanbudingdan"></view>
          <view class="order_name">全部订单</view>
        </navigator>
        <navigator url="/pages/order/order?type=2">
          <view class="iconfont icon-daifukuan"></view>
          <view class="order_name">待付款</view>
        </navigator>
        <navigator url="/pages/order/order?type=3">
          <view class="iconfont icon-daishouhuo"></view>
          <view class="order_name">待收货</view>
        </navigator>
        <navigator>
          <view class="iconfont  icon-tuihuotuikuan"></view>
          <view class="order_name">退款/退货</view>
        </navigator>
      </view>
    </view>
    <!-- 收货地址管理 -->
    <view class="address_wrap">收货地址管理</view>
    <!-- 应用信息相关 -->
    <view class="app_info_wrap">
      <view class="app_info_item app_info_content">
        <text>联系客服</text>
        <text>400-628-4000</text>
      </view>
      <navigator url="/pages/feedback/feedback" class="app_info_item">意见反馈</navigator>
      <view class="app_info_item">关于我们</view>
    </view>
    <!-- 推荐 -->
    <view class="recommend_wrap">把应用推荐给其他人</view>
  </view>
</view>

样式:user.less

page {
  background-color: #edece8;
}

.user_info_wrap {
  position: relative;
  height: 45vh;
  // background-color: var(--themeColor);

  .user_img_wrap {
    position: relative;

    .user_bg {
      height: 45vh;
      // 高斯模糊
      filter: blur(10rpx);
    }

    .user_info {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      top: 20%;
      text-align: center;

      .user_icon {
        width: 150rpx;
        height: 150rpx;
        border-radius: 50%;
      }

      .user_name {
        margin-top: 40rpx;
        color: #fff;
        font-size: 40rpx;
      }
    }
  }

  .user_btn {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 40%;
    border: 1px solid greenyellow;
    color: greenyellow;
    font-size: 38rpx;
    padding: 30rpx;
    border-radius: 10rpx;
  }
}

.user_content {
  position: relative;

  .user_main {
    position: absolute;
    width: 90%;
    left: 50%;
    transform: translateX(-50%);
    top: -40rpx;
    padding-bottom: 100rpx;
    color: #666;

    .history_wrap {
      display: flex;
      background-color: #fff;
      padding: 10rpx 5rpx;

      .navigator {
        flex: 1;
        text-align: center;
        padding: 10rpx 0;

        .his_num {
          color: var(--themeColor);
        }

        .his_name {}
      }
    }

    .orders_wrap {
      background-color: #fff;
      margin-top: 30rpx;

      .orders_title {
        padding: 20rpx;
        border-bottom: 1px solid #ccc;
      }

      .order_content {
        display: flex;

        navigator {
          padding: 20rpx 0;
          flex: 1;
          text-align: center;

          .iconfont {
            color: var(--themeColor);
            font-size: 40rpx;
          }

          .order_name {
            color: #666;
          }
        }
      }
    }

    .address_wrap {
      margin-top: 30rpx;
      background-color: #fff;
      padding: 20rpx;
    }

    .app_info_wrap {
      margin-top: 30rpx;
      background-color: #fff;

      .app_info_item {
        padding: 20rpx;
        border-bottom: 1px solid #ccc;
      }

      .app_info_content {
        display: flex;
        justify-content: space-between;
      }
    }

    .recommend_wrap {
      margin-top: 30rpx;
      background-color: #fff;
      padding: 20rpx;
    }
  }
}

逻辑:user.js文件

// pages/user/user.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userinfo: {},
    // 被收藏的商品的数量
    collectNums: 0
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    
    const userinfo = wx.getStorageSync("userInfo");

    const collect = wx.getStorageSync("collect") || [];

    this.setData({
      userinfo,
      collectNums: collect.length
    })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})

页面配置文件:user.json文件

{
  "usingComponents": {},
  "navigationBarTitleText": "个人中心"
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落花流雨

你的鼓励将是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值