欢迎光临
请一秒记住我们的网址:www.xinfans.com !

网站个人中心页面可DIY(一键复制)

在数字化时代,个人中心页面已成为应用与用户互动的核心区域。它不仅是用户个人信息的展示平台,更是用户体验个性化服务的起点。优秀的个人中心页面设计能够提升用户的满意度和应用的使用频率。今天,我们有幸邀请到了前端技术专家——雪天,为我们分享他如何利用uniapp打造简洁而富有个性的个人中心页面。



01:第一个黄色(图一)

<template>
  <view class="content">
    <view class="tops">
      <uni-icons type="gear" size="32" class="setIcon" @click="setFun"></uni-icons>
      <view class="infos">
        <image
          src="https://img1.baidu.com/it/u=1665929857,2089570148&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=889"
          mode="aspectFill"></image>
        <view class="names">
          韩信
        </view>
        <view class="desc">
          纵情山河万里,肆意九州五岳,爱恨痴狂,抵不过沧海一笑
        </view>
        <view class="t-list">
          <view class="t-item">
            <view class="tit">
              收藏
            </view>
            <view class="vals">
              45
            </view>
          </view>
          <view class="t-item">
            <view class="tit">
              点赞
            </view>
            <view class="vals">
              266
            </view>
          </view>
          <view class="t-item">
            <view class="tit">
              分享
            </view>
            <view class="vals">
              103
            </view>
          </view>
        </view>
      </view>

    </view>

    <view class="lists">
      <uni-list>
        <uni-list-item :show-extra-icon="true" :extra-icon="extraIcon1" showArrow title="个人信息" clickable
          @click="clickList" rightText="右侧文字" />
        <uni-list-item :show-extra-icon="true" :extra-icon="extraIcon2" showArrow title="我的购物车" clickable
          @click="clickList" rightText="右侧文字" />
        <uni-list-item :show-extra-icon="true" :extra-icon="extraIcon3" showArrow title="用户反馈" clickable
          @click="clickList" />
        <uni-list-item :show-extra-icon="true" :extra-icon="extraIcon4" showArrow title="我的邮件" clickable
          @click="clickList" />
        <uni-list-item :show-extra-icon="true" :extra-icon="extraIcon5" showArrow title="分享有礼" clickable
          @click="clickList" />
      </uni-list>
    </view>
  </view>
</template>

<script>
  export default {
    data() {
      return {
        extraIcon1: {
          color: '#666666',
          size: '22',
          type: 'auth'
        },
        extraIcon2: {
          color: '#666666',
          size: '22',
          type: 'cart'
        },
        extraIcon3: {
          color: '#666666',
          size: '22',
          type: 'chatboxes'
        },
        extraIcon4: {
          color: '#666666',
          size: '22',
          type: 'email'
        },
        extraIcon5: {
          color: '#666666',
          size: '22',
          type: 'gift'
        }
      }
    },
    methods: {
      setFun() {
        uni.showToast({
          title: "点击设置",
          icon: "none"
        })
      },
      clickList() {
        uni.showToast({
          title: "点击列表",
          icon: "none"
        })
      }
    }
  }
</script>

<style scoped>
  .tops {
    position: relative;
    height: 580rpx;
    background-color: aquamarine;
    background: url("https://img1.baidu.com/it/u=3643237076,897388802&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=400") no-repeat;
    background-size: 100% 100%;
  }

  .setIcon {
    position: absolute;
    top: 50rpx;
    right: 50rpx;
  }

  .lists {
    padding: 20rpx;
  }

  .tops .infos {
    width: 80%;
    height: 450rpx;
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -25%);
    text-align: center;
  }

  .infos image {
    width: 120rpx;
    height: 120rpx;
    border-radius: 50%;
    border: 4rpx solid #fff;
  }

  .infos .names {
    font-size: 34rpx;
    color: #333;
    font-weight: 700;
    margin: 20rpx 0 10rpx;
  }

  .infos .desc {
    max-width: 62%;
    font-size: 28rpx;
    color: #333;
    margin: 10rpx auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: center;
  }

  .infos .t-list {
    margin-top: 60rpx;
    display: flex;
    justify-content: space-around;
  }

  .t-item .tit {
    font-size: 32rpx;
    color: #333;
    margin-bottom: 10rpx;
  }

  .t-item .vals {
    font-size: 36rpx;
    color: #333;
    font-weight: 700;
    margin-bottom: 10rpx;
  }

  /deep/.uni-list-item__content-title[data-v-296a3d7e] {
    font-size: 30rpx;
    color: #333;
    overflow: hidden;
    font-weight: 500;
  }

  /deep/.uni-list-item__container {
    padding: 30rpx;
  }
</style>

02:第二个蓝色(图二)

<template>
  <view class="content">
    <view class="topBox">
      <view class="setbox">
        <view class="set-left">
          <uni-icons type="calendar" size="30" color="#fff"></uni-icons>
          <view class="txt">签到</view>
        </view>
        <view class="set-right">
          <uni-icons type="gear" size="30" color="#fff" @click="setFun"></uni-icons>
          <uni-icons type="chat" size="30" color="#fff"></uni-icons>
        </view>
      </view>

      <view class="users">
        <view class="u-top">
          <image
            src="https://img2.baidu.com/it/u=2953585264,744730101&fm=253&fmt=auto&app=138&f=JPEG?w=360&h=360"
            mode=""></image>
          <view class="tit">
            登录 / 注册
          </view>
        </view>
        <view class="u-bottom">
          <view class="u-item">
            <view class="num">12</view>
            <view class="u-tit">浏览</view>
          </view>
          <view class="u-item">
            <view class="num">12</view>
            <view class="u-tit">浏览</view>
          </view>
          <view class="u-item">
            <view class="num">12</view>
            <view class="u-tit">浏览</view>
          </view>
        </view>
      </view>
    </view>

    <view class="bottomBox">
      <view class="order-list">
        <view class="o-item">
          <image src="../../static/daifuk.png" mode=""></image>
          <view class="tit">待付款</view>
        </view>
        <view class="o-item">
          <image src="../../static/daifa.png" mode=""></image>
          <view class="tit">待发货</view>
        </view>
        <view class="o-item">
          <image src="../../static/yifa.png" mode=""></image>
          <view class="tit">已发货</view>
        </view>
        <view class="o-item">
          <image src="../../static/wancheng.png" mode=""></image>
          <view class="tit">已完成</view>
        </view>
      </view>
    </view>

    <view class="listBox">
      <view class="lists">
        <uni-list>
          <uni-list-item :show-extra-icon="true" :extra-icon="extraIcon1" showArrow title="个人信息" clickable
            @click="clickList" rightText="右侧文字" />
          <uni-list-item :show-extra-icon="true" :extra-icon="extraIcon2" showArrow title="我的购物车" clickable
            @click="clickList" rightText="右侧文字" />
          <uni-list-item :show-extra-icon="true" :extra-icon="extraIcon3" showArrow title="用户反馈" clickable
            @click="clickList" />
          <uni-list-item :show-extra-icon="true" :extra-icon="extraIcon4" showArrow title="我的邮件" clickable
            @click="clickList" />
          <uni-list-item :show-extra-icon="true" :extra-icon="extraIcon5" showArrow title="分享有礼" clickable
            @click="clickList" />
        </uni-list>
      </view>
    </view>

  </view>
</template>

<script>
  export default {
    data() {
      return {
        extraIcon1: {
          color: '#666666',
          size: '22',
          type: 'auth'
        },
        extraIcon2: {
          color: '#666666',
          size: '22',
          type: 'cart'
        },
        extraIcon3: {
          color: '#666666',
          size: '22',
          type: 'chatboxes'
        },
        extraIcon4: {
          color: '#666666',
          size: '22',
          type: 'email'
        },
        extraIcon5: {
          color: '#666666',
          size: '22',
          type: 'gift'
        },

      }
    },
    methods: {
      setFun() {
        uni.showToast({
          title: "点击设置",
          icon: "none"
        })
      },
      clickList() {
        uni.showToast({
          title: "点击列表",
          icon: "none"
        })
      }
    }
  }
</script>

<style scoped>
  .content {
    background-color: #f5f5f5;
    height: 100vh;
  }

  /* 弧形背景 */
  .topBox {
    width: 100%;
    position: relative;
    z-index: 1;
    overflow: hidden;
    padding: 60rpx 20rpx 20rpx;
    box-sizing: border-box;
  }

  .topBox::after {
    content: "";
    width: 140%;
    height: 200px;
    position: absolute;
    left: -20%;
    top: 0;
    z-index: -1;
    border-radius: 0 0 50% 50%;
    background: #00aaff;
  }

  /* 弧形背景 */

  .setbox {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .set-left {
    width: 18%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .txt {
    color: #fff;
    font-size: 30rpx;
  }

  .set-right .uni-icons {
    margin-right: 10rpx;
  }

  .users {
    margin-top: 20rpx;
    padding: 30rpx;
    box-sizing: border-box;
    height: 280rpx;
    background-color: #fff;
    box-shadow: 1px 10rpx 20rpx #ececec;
    border-radius: 12rpx;
  }

  .u-top {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 30rpx;
  }

  .users .u-top image {
    width: 100rpx;
    height: 100rpx;
    border-radius: 50%;
    margin-right: 20rpx;
  }

  .u-top .tit {
    font-size: 30rpx;
    font-weight: 700;
    color: #333;
  }

  .u-bottom {
    display: flex;
    justify-content: space-around;
    align-items: center;
  }

  .u-item {
    text-align: center;
  }

  .u-item .u-tit {
    color: #757575;
    font-size: 26rpx;
    margin-top: 10rpx;
  }

  .u-item .num {
    color: #000000;
    font-size: 33rpx;
    font-weight: 700;
  }

  .bottomBox {
    padding: 20rpx;
    box-sizing: border-box;
  }

  .order-list {
    height: 200rpx;
    margin: -15rpx auto 0;
    padding: 30rpx;
    box-sizing: border-box;
    background-color: #fff;
    border-radius: 12rpx;
    display: flex;
    justify-content: space-around;
    align-items: center;
  }

  .o-item {
    width: 25%;
    text-align: center;
  }

  .o-item image {
    width: 65rpx;
    height: 55rpx;
  }

  .o-item .tit {
    font-size: 28rpx;
    margin-top: 10rpx;
  }

  .listBox {
    height: 200rpx;
    margin: -10rpx auto 0;
    padding: 20rpx;
    box-sizing: border-box;
    border-radius: 12rpx;
  }
</style>

03:第三个绿色(图三)

<template>
  <view class="content">
    <view class="topBox">
      <uni-icons type="gear" size="32" class="setIcon" color="#fff" @click="setFun"></uni-icons>
      <image src="https://img0.baidu.com/it/u=464193705,1968194224&fm=253&fmt=auto&app=120&f=JPEG?w=801&h=500" mode="aspectFill"></image>
      <view class="userName">
        <view class="name">
          着逝者为铠
        </view>
        <view class="desc">
          以绝望挥剑,着逝者为铠
        </view>
      </view>
    </view>

    <view class="listBox">
      <view class="lists">
        <uni-list>
          <uni-list-item :show-extra-icon="true" :extra-icon="extraIcon1" showArrow title="个人信息" clickable
            @click="clickList" rightText="右侧文字" />
          <uni-list-item :show-extra-icon="true" :extra-icon="extraIcon2" showArrow title="我的购物车" clickable
            @click="clickList" rightText="右侧文字" />
          <uni-list-item :show-extra-icon="true" :extra-icon="extraIcon3" showArrow title="用户反馈" clickable
            @click="clickList" />
          <uni-list-item :show-extra-icon="true" :extra-icon="extraIcon4" showArrow title="我的邮件" clickable
            @click="clickList" />
          <uni-list-item :show-extra-icon="true" :extra-icon="extraIcon5" showArrow title="分享有礼" clickable
            @click="clickList" />
        </uni-list>
      </view>
    </view>
  </view>
</template>

<script>
  export default {
    data() {
      return {
        extraIcon1: {
          color: '#666666',
          size: '22',
          type: 'auth'
        },
        extraIcon2: {
          color: '#666666',
          size: '22',
          type: 'cart'
        },
        extraIcon3: {
          color: '#666666',
          size: '22',
          type: 'chatboxes'
        },
        extraIcon4: {
          color: '#666666',
          size: '22',
          type: 'email'
        },
        extraIcon5: {
          color: '#666666',
          size: '22',
          type: 'gift'
        },

      }
    },
    methods: {
      setFun() {
        uni.showToast({
          title: "点击设置",
          icon: "none"
        })
      },
      clickList() {
        uni.showToast({
          title: "点击列表",
          icon: "none"
        })
      }
    }
  }
</script>

<style scoped>
  .content {
    box-sizing: border-box;
    position: relative;
    height: 100vh;
    background-color: #00aa7f;
  }

  .topBox {
    height: 350rpx;
    padding: 50rpx;
    box-sizing: border-box;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }

  .topBox image {
    width: 130rpx;
    height: 130rpx;
    border-radius: 50%;
    border: 3rpx solid #fff;
    margin-right: 30rpx;
  }

  .topBox .name {
    font-size: 42rpx;
    color: #fff;
    font-weight: 700;
    margin-bottom: 23rpx;
  }

  .topBox .desc {
    font-size: 28rpx;
    color: #ececec;
    margin-bottom: 10rpx;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: center;
  }

  .listBox {
    height: calc(100% - 330rpx);
    background-color: #ffffff;
    border-top-left-radius: 30rpx;
    border-top-right-radius: 30rpx;
    margin-top: -20rpx;
    padding: 30rpx 20rpx;
  }

  .setIcon {
    position: absolute;
    top: 50rpx;
    right: 50rpx;
  }
</style>

最后,页面中用到了一些本地图片和uniapp的组件,为了更好的一键复制使用,我把整体源码-包含上期的登录页面源码和个人中心页面放在了gitee上,如有需要的话,下面附上

项目Gitee地址
免费下载提取码:
赞(3) 加关注
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:网站个人中心页面可DIY(一键复制)
文章链接:https://www.xinfangs.com/1648.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

请一秒记住我们的网址:www.xinfans.com !

去投稿去留言

扫码关注公众号

非常感谢,让我们一起创建更加美好的网络世界!

关注公众号

加微信

登录

找回密码

注册