微信小程序开发一个小型商城(八、个人页面)

上一篇文章:微信小程序开发一个小型商城(七、支付页面)
在这里插入图片描述
在上方还是使用wx:if进行判断是否有登录的数据,有的话将数据当中的图片和名字渲染到页面当中,不存在的话使用一个登录按钮表示需要用户登录。往下分别是一些静态标签,使用view和加上一些样式即可实现。
在判断是否登录过的时候,在未登录的时候单击登录按钮后会实现跳转到login登录界面,获取用户授权进行登录,给获取登录全希望的按钮加上一个点击事件handleGetUserInfo 表示单击授权,绥江将数据使用缓存写入到userinfo当中,在个人中心当中再一次的获取这个缓存,判断是否有值,最后输出到界面上。
在这里插入图片描述
代码分别如下:
wxml

<!--上方登录界面-->
<view class="user_info_wrap">
    <view wx:if="{{userinfo.userInfo.avatarUrl}}" class="user_img_wrap">
        <image  class="user_bg" src="{{userinfo.userInfo.avatarUrl}}" />
        <view class="user_info">
            <image class="user_icon" src="{{userinfo.userInfo.avatarUrl}}" mode="widthFix" />
            <view class="user_name">{{userinfo.userInfo.nickName}}</view>
        </view>
    </view>
    <view wx:else class="user_btn">
        <navigator  url="../../pages/login/index">
            登录
        </navigator>
    </view>
</view>
<view class="user_content">
<view class="user_nain">
    <!--历史足迹-->
    <view class="history_wrap">
        <navigator>
            <view class="his_num">0</view>
            <view class="his_name">收藏的店铺</view>
        </navigator> 
        <navigator url="/pages/collect/index">
            <view class="his_num">{{collectNum}}</view>
            <view class="his_name">收藏的商品</view>
        </navigator> 
        <navigator>
            <view class="his_num">0</view>
            <view class="his_name">关注的商品</view>
        </navigator> 
        <navigator>
            <view class="his_num">0</view>
            <view class="his_name">我的足迹</view>
        </navigator> 
    </view>
    <!--订单-->
    <view class="order_wrap">
        <view class="order_title">我的订单</view>
        <view class="order_content">
            <navigator url="/pages/order/index?type=1">
                <view class="iconfont icon-quanbudingdan"></view>
                <view class="order_name">全部订单</view>
            </navigator>
            <navigator url="/pages/order/index?type=2">
                <view class="iconfont icon-daifukuan"></view>
                <view class="order_name">待付款</view>
            </navigator>
            <navigator url="/pages/order/index?type=3">
                <view class="iconfont icon-daishouhuo"></view>
                <view class="order_name">待收货</view>
            </navigator>
            <navigator >
                <view class="iconfont icon-tuikuan"></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_contact">
            <text>联系客服</text><text>400-8820-400</text>  
        </view>
        <navigator  class="app_info_item" url="/pages/feedback/index">意见反馈
        </navigator>
        <view class="app_info_item">关于我们</view>
    </view>
    <!--推荐app-->
    <view class="recomend_wrap">
        把应用推荐给朋友
    </view>
</view>
</view>

less

/* pages/user/index.wxss */
page{
  color: #edece8;
}
.user_info_wrap {
  height: 45vh;
  background-color: var(--themeColor);
  overflow: hidden;
  position: relative;
  .user_img_wrap {
    position: relative;
    .user_bg {
      height: 50vh;
      filter: blur(10rpx);
    }
    .user_info {
      position: absolute;
      transform: translateX(-50%);
      top: 20%;
      left: 50%;
      text-align: center;
      .user_icon {
        width: 150rpx;
        height: 150px;
        border-radius: 50%;
      }
      .user_name {
        color: #000;
        margin-top: 40rpx;
        font-size: 40rpx;
      }
    }
  }
  .user_btn {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 40%;
    border: 1rpx solid green;
    color: green;
    font-size: 38rpx;
    padding: 30rpx;
    border-radius: 10%;
  }
}
.user_content {
  position: relative;
  .user_nain {
    color: #666;
    padding-bottom: 100rpx;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    top: -40rpx;
    .history_wrap{
        background-color: #fff;
        display: flex;
        navigator{
            flex: 1;
            text-align: center;
            padding: 10rpx 0;
            .his_num{
                color: var(--themeColor);
            }
        }
    }
    .order_wrap{
        background-color: #fff;
        margin-top: 30rpx;
        .order_title{
            padding: 20rpx;
            border-bottom: 1px solid #ccc;
        }
        .order_content{
            display: flex;
            navigator{
                padding: 15rpx 0;
                flex: 1;
                text-align: center;
                .iconfont{
                    color: var(--themeColor);
                    font-size: 40rpx;
                }
            }
        }
    }
    .address_wrap{
      margin-top: 30rpx;
      background-color: #fff;
      padding: 20rpx 0;
    }
    .app_info_wrap{
      background-color: #fff;
      margin-top: 30rpx;
      .app_info_item{
        padding: 20rpx 0;
        border-bottom: 1px solid #ccc;
      }
      .app_info_contact{
        display: flex;
        justify-content: space-between;
      }
    }
    .recomend_wrap{
      margin-top: 30rpx;
      background-color: #fff;
      padding: 20rpx 0;
    }
  }
}

js

// pages/user/index.js
Page({
  data: {
    userinfo:{},
    collectNum:0
  },
  onLoad: function (options) {
  },
  onShow: function () {
    const userinfo=wx.getStorageSync("userinfo");
    //获取缓存中的数组
    const collect=wx.getStorageSync('collect')||[]
    this.setData({userinfo ,collectNum:collect.length})
  },
})

感谢你的预览,文章持续更新中…
下一篇:微信小程序开发一个小型商城(九、意见反馈页面)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Modify_QmQ

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

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

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

打赏作者

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

抵扣说明:

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

余额充值