壁纸小程序Vue3(分类页面和用户页面基础布局)

1.配置tabBar

pages.json

复制代码
 "tabBar": {
    "color": "#9799a5",
    "selectedColor": "#28B389",
    "list": [
      {
        "text": "推荐",
        "pagePath": "pages/index/index",
        "iconPath": "static/images/tabBar/home.png",
        "selectedIconPath": "static/images/tabBar/home-h.png"
      },
      {
        "text": "分类",
        "pagePath": "pages/classify/classify",
        "iconPath": "static/images/tabBar/classify.png",
        "selectedIconPath": "static/images/tabBar/classify-h.png"
      },
      {
        "text": "我的",
        "pagePath": "pages/user/user",
        "iconPath": "static/images/tabBar/user.png",
        "selectedIconPath": "static/images/tabBar/user-h.png"
      }
    ]
  }

2.分类页面

classify.vue

复制代码
<template>
  <view class="classLayout">
        <view class="classify">
            <theme-item v-for="item in 15"></theme-item>
        </view>
  </view>
</template>

<script setup>

</script>
<style lang="scss" scoped>
.classify{
  padding: 30rpx;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 15rpx;
}
</style>

3.我的页面

user.vue

1)基础布局

复制代码
 <view class="userLayout">
      <view class="userInfo">
          <view class="avatar">
              <image src="/common/images/64.png" mode="aspectFill"></image>
          </view>
          <view class="ip">192.168.10.100</view>
          <view class="address">来自于:深圳</view>
      </view>
      
      <view class="section">
          <view class="list">
              <view class="row" v-for="item in 3">
                  <view class="left">
                    <uni-icons type="download-filled" size="20" color="#28b389"></uni-icons>
                    <view class="text">我的下载</view>
                  </view>
                  <view class="right">
                      <view class="text">33</view>
                      <uni-icons type="right" size="15" color="#aaa"> </uni-icons>
                  </view>
              </view>
          </view>
      </view>
     <view class="section">
         <view class="list">
             <view class="row" v-for="item in 2">
                 <view class="left">
                   <uni-icons type="download-filled" size="20" color="#28b389"></uni-icons>
                   <view class="text">我的下载</view>
                 </view>
                 <view class="right">
                     <view class="text">33</view>
                     <uni-icons type="right" size="15" color="#aaa"> </uni-icons>
                 </view>
             </view>
         </view>
     </view>
  </view>

.userLayout{
  .userInfo{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    .avatar{
      width: 160rpx;
      height: 160rpx;
      border-radius: 50%;
      overflow: hidden;
      image{
        width: 100%;
        height: 100%;
      }
    }
    .ip{
      font-size: 44rpx;
      color: #333;
      padding: 20rpx 0 5rpx;
    }
    .address{
      font-size: 28rpx;
      color: #aaa;
    }    
  }
  
  .section{
    width: 690rpx;
    margin: 50rpx auto;
    border: 1px solid #eee;
    border-radius: 10rpx;
    //设置阴影
    box-shadow: 0 0 30rpx rgba(0, 0, 0, 0.05);
    .list{
      .row{
        display: flex;
        justify-content: space-between;
        padding: 0 30rpx;
        height: 100rpx;
        //线
        border-bottom: 1px solid #eee;
        //去掉最后一条重复的线  &:代表在当前标签下
        &:last-child{border-bottom: 0;}
        .left{
          display: flex;
          align-items: center;
          .text{
            padding-left: 20rpx;
            color: #666;
          }
        }
        .right{
          display: flex;
          align-items: center;
          .text{
            font-size: 28rpx;
            color: #aaa;
          }
        }
      }
    }
  
  } 
  
}

2)设置客服/拨打电话按钮

<view class="section">

<view class="list">

<view class="row">

<view class="left">

<uni-icons type="chatboxes-filled" size="20" color="#28b389"></uni-icons>

<view class="text">联系客服</view>

</view>

<view class="right">

<view class="text">33</view>

<uni-icons type="right" size="15" color="#aaa"> </uni-icons>

</view>

//条件编译

<!-- #ifdef MP -->
<button open-type="contact">联系客服</button>
<!-- #endif -->
<!-- #ifndef MP -->
<button @click="clickContact">拨打电话</button>
<!-- #endif -->

</view>

</view>

</view>
//客服按钮

button{

position: absolute;

top: 0;

left: 0;

height: 100rpx;

width: 100%;

opacity: 0;

}

4.设置全局线性渐变背景色

user.vue

<view class="userLayout pageBg">

common-style.scss

view,swiper,swiper-item{

//内填充

box-sizing: border-box;

}

.pageBg{
//线性渐变
//从左到右
// background: linear-gradient(to right,red,#fff,green);
//transparent:也可以表示透明色
background:
// linear-gradient(to bottom,rgba(0,0,0,0) 50%,#fff 100%),
linear-gradient(to bottom,rgba(0,0,0,0) , #fff 400rpx),
linear-gradient(to right,#beecd8 20%,#F4E2D8)
;
min-height: 80vh;

}

5.自定义颜色变量

在common下创建base-style.scss

在官方文件uni.scss中导入:@import "@/common/style/base-style.scss";

注:导入重启时,需要重新运行Uniapp,这样才不会报错
$brand-theme-color:#28B389; //品牌主体红色

$border-color:#e0e0e0; //边框颜色

$border-color-light:#efefef; //边框亮色

$text-font-color-1:#000; //文字主色

$text-font-color-2:#676767; //副标题颜色

$text-font-color-3:#a7a7a7; //浅色

$text-font-color-4:#e4e4e4; //更浅
使用

.date{

color: $brand-theme-color;

}

//这样写在H5中可以生效,小程序中不能生效

.uni-icons{

//!important:代表权重最高

color: $brand-theme-color !important;

}

//所以修改为如下即可:

//穿透到组件内部,去改变组件类名

:deep(){

.uni-icons{

//!important:代表权重最高

color: $brand-theme-color !important;

}

}

相关推荐
andrsted2 小时前
练题簿在线免费刷题:让整理过的资料,变成能反复练习的题库
学习·微信小程序·小程序·学习方法·刷题·1024程序员节
隔窗听雨眠3 小时前
PostgreSQL单表从Windows迁移到Linux:差异剖析、方案对比与全流程实战
linux·windows·postgresql
Helix2506 小时前
Ansible混合环境自动化:Windows与Linux统一配置管理实战
windows·自动化·ansible·playbook·配置管理·winrm·混合环境
Java开发追求者7 小时前
windows快速安装docker
windows·docker·安装·1024程序员节
Helix25010 小时前
Windows ETW与KQL实战:终端性能诊断与遥测数据分析指南
windows·性能诊断·kql·etw·azure monitor·遥测数据·tracert
CRMEB系统商城11 小时前
家电零售的供应商协同与物流提效
java·开发语言·人工智能·小程序·1024程序员节
CRMEB系统商城11 小时前
Redis + 消息队列 + 连接池:CRMEB PRO 性能优化的三驾马车
大数据·数据库·人工智能·小程序·php·1024程序员节
陈葛杰12 小时前
Adobe Premiere Pro2025安装教程
windows·adobe·开源软件·1024程序员节
承渊政道13 小时前
iOS远程控制电脑用什么好?iPhoneiPad远程控制Windows电脑最佳方案2026横评
windows·ios·远程控制·1024程序员节·iphone ipad
易点云徐源13 小时前
PDF 默认打开方式刚修好,过一分钟又变成“未知应用”?使用 ProcMon 成功抓出后台程序
windows·pdf