Skip to content

16 首页

16.1 页面骨架

16.2修改默认样式

css
/* 在微信小程序中 不支持 通配符 '*' */
page,view,text,swiper,swiper-item,image,navigator{
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

/*
 主题颜色 通过变量来实现 
 1 less 中 存在 变量这个知识
 2 原生的css和wxss也是支持 变量 
 */
 page{
   /* 定义主题颜色 */
   --themeColor:#FF0000;
   /*
    定义统一字体大小  假设设计稿 大小是 375px 
    1px= 2rpx
    14px = 28rpx
     */
     font-size: 28rpx;
 }

 image{
   width: 100%;
 }

16.3 添加导航页面

页面

html
<navigator class="si" target=""  hover-class="navigator-hover">
    搜索
</navigator>

样式

css
.si{

    font-size: 30rpx;
    height: 75rpx;
    text-align: center;
    line-height: 75rpx;
    border: 6rpx solid red;
    border-radius: 10rpx;
    color: grey;
    margin: 5rpx;
}

引入导航页面

json
{
  "usingComponents": {
      "SearchInput":"../../component/SearchInput/SearchInput"
  }
}

16.4 第一次封装请求

js

export const request =  (params)=>{

    // console.log(params.url);
    //默认Base路径
    const  baseUrl = "https://www.fulfill.com.cn/api/v1";
    // const  baseUrl = "http://127.0.0.1/api/v1";

    //加载loading
    wx.showLoading({
        title: "加载中",
        mask: true,
    });
      

    return new Promise((resolve,reject)=>{
        wx.request({
            // ...params,
            url: baseUrl+params.url ,
            fail:(err)=>{
                reject(err);    
            },
            success: (res) => {
                let result = res.data;
                if(result.meta.code === 200){
                    let data = result.message;
                    resolve(data);
                }
            },
            complete:()=>{
                //取消loading
                wx.hideLoading();
            }
        });
    })
}

请求调用

js
//加载轮播图数据
    loadSwiper: function () {

        request({
            url: '/home/swiperdata'
        }).then((swiperList) => {
            this.setData({
                swiperList
            })
        })
    },

    //加载商品分类导航
    loadCate: function () {
        request({ url: '/home/catitems' }).then((categoriesList) => {
            console.log("使用封装之后的 request工具");
            this.setData({
                categoriesList
            })
        })

    },
     //加载商品分类导航
     loadFloorData: function () {
        request({ url: '/home/floordata' }).then((floorList) => {
            // console.log("使用封装之后的 request工具");
            this.setData({
                floorList
            })
        })

    }

16.5 加载楼层信息

设置后四张图的高度是 前面导航的一半

?: 前面 (第一)navigator的高度

原始宽 / 原始高 = 缩放后的 宽度/ 缩放之后的 高

232 / 386 = 33.33vw / ?

缩放之后的高度(第一张图) : 33.33vw * 386/ 232

让容器的高度 跟第一张图保持一致: 33.33vw * 386/ 232

其余四张图片包裹在nagivator中,让nagivator的高度,是容器的50%,图片在nagivator中宽高: 100%

Released under the MIT License.