当前位置: 首页 > article >正文

微信小程序实践案例

参考视频:

https://www.bilibili.com/video/BV1834y1676P/?p=36&spm_id_from=pageDriver&vd_source=b604c19516c17da30b6b1abb6c4e7ec0

前期准备

1、新建三个页面

  "pages": [

    "pages/home/home",

    "pages/message/message",

    "pages/contact/contact"

  ],

2、导航栏设置

"window": {

 "backgroundTextStyle":"light",

    "navigationBarTextStyle": "white",

    "navigationBarTitleText": "本地生活",

    "navigationBarBackgroundColor": "#2b4b6b"

  },

一、tabBar设置

阿里巴巴图标库:https://www.iconfinder.com/

大部分不用登录,免费获取。

"tabBar": {
    "list": [{
      "pagePath": "pages/home/home",
      "text": "首页",
      "iconPath": "pages/image/home.png",
      "selectedIconPath": "pages/image/home_active.png"
    },
    {
      "pagePath": "pages/message/message",
      "text": "消息" ,
      "iconPath": "pages/image/massage.png",
      "selectedIconPath": "pages/image/message_active.png"
    },
    {
      "pagePath": "pages/contact/contact",
      "text": "联系我们" ,
      "iconPath": "pages/image/contact.png",
      "selectedIconPath": "pages/image/contact_active.png"
    }
  ]
  },

二、实现轮播图

1、获取轮播图数据列表的接口

https://applet-base-api-t.itheima.net/slides

data: {

    //存放数据轮播图的数组

    swiperList: []

  },

 //获取轮播图数据的方法

  getSwiperList(){

    wx.request({

      url: 'https://applet-base-api-t.itheima.net/slides',

      method: 'GET',

      success: (res) =>{

        console.log(res)

      }

    })

  },

 /**

   * 生命周期函数--监听页面加载

   */

  onLoad(options) {

  this.getSwiperList()

  },

2、将获取的数据赋值给data

  //将获取的数组赋值给data
        this.setData({
          swiperList: res.data
        })

3、渲染到页面

<!--pages/home/home.wxml-->
<!--轮播图组件-->
<swiper>
<swiper-item wx:for="{{swiperList}}" wx:key="id">
<image src="{{item.image}}"></image>
</swiper-item>
</swiper>

4、美化样式

/* pages/home/home.wxss */
swiper{
  height: 350rpx;
}
swiper image{
height: 100%;
width:100%;
}

5、添加小圆点(indicator-dots)和衔接滚动(circular)

三、实现九宫格

1、获取九宫格数据

https://applet-base-api-t.itheima.net/categories

写法跟实现轮播图的一样。

 /**
   * 页面的初始数据
   */
  data: {
    //存放九宫格数据的数组
    gridList: []
  },
//获取九宫格数据的方法
  getGridList(){
    wx.request({
      url: 'https://applet-base-api-t.itheima.net/categories',
      method: 'GET',
      success: (res) =>{
        console.log(res)
//将获取的数据存放到data中
        this.setData({
          gridList: res.data
        })
      }
    })
  },
/**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
  this.getGridList()
  },

2、渲染页面

<!--九宫格区域-->
<view class="grid-list">
<view class="grid-item" wx:for="{{gridList}}" wx:key="id">
<image src="{{item.icon}}"></image>
<text>{{item.name}}</text>
</view>
</view>

3、美化样式

.grid-list{
  display: flex;
  flex-wrap: wrap;
}
.grid-item{
  width: 33.3%;
}
.grid-item image{
  width: 60rpx;
  height: 60rpx;
}

给字添加样式:

.grid-item text{

  font-size: 24rpx;

margin-top: 10rpx;

}

图片布局:

添加浅色分隔框:

变成九宫格:

box-sizing: border-box;

四、图片区域

1、渲染页面

<!--图片区域-->

<view class="img-box">

<image src="/pages/image/1.jpg"></image>

<image src="/pages/image/2.jpg"></image>

</view>

2、美化样式

.img-box{
  display: flex;
}

3、调整图片

(1)修改xml页面

        宽度不变,变高度

<!--图片区域-->
<view class="img-box">
<image src="/pages/image/1.jpg" mode="widthFix"></image>
<image src="/pages/image/2.jpg" mode="widthFix"></image>
</view>

(2)图片样式

.img-box{
  display: flex;
  padding: 20rpx 10rpx;
  justify-content: space-around;
}
.img-box image{
  width: 45%;
}


http://www.kler.cn/a/294247.html

相关文章:

  • 38配置管理工具(如Ansible、Puppet、Chef)
  • 67页PDF |埃森哲_XX集团信息发展规划IT治理优化方案(限免下载)
  • 论文翻译 | The Capacity for Moral Self-Correction in Large Language Models
  • 力扣662:二叉树的最大宽度
  • c++写一个死锁并且自己解锁
  • Qt 和 WPF(Windows Presentation Foundation)
  • Kafka Broker处于高负载状态(例如消息处理量大或系统资源不足),无法及时响应消费者的请求
  • 智能工厂程序设计 之1 智能工厂都本俱的方面(Facet,Aspect和Respect)即智能依赖的基底Substrate 之1
  • 机械学习—零基础学习日志(概率论总笔记4)
  • JAVA基础:JVM中方法的执行过程和方法的重载,递归,可变参数的含义
  • MySQL——视图(一)视图概述
  • 59.以太网数据回环实验(2)硬件资源梳理及系统框图
  • 桶排序【算法 14】
  • OpenCV结构分析与形状描述符(8)点集凸包计算函数convexHull()的使用
  • java设计模式day02--(创建型模式:工厂模式、原型模式、建造者模式)
  • 【python】python指南(三):使用正则表达式re提取文本中的http链接
  • 【Netty】netty中都是用了哪些设计模式
  • BIO、NIO、AIO 有什么区别?
  • 进程间通信-进程池
  • 《Cloud Native Data Center Networking》(云原生数据中心网络设计)读书笔记 -- 09部署OSPF
  • 前向代理和反向代理的区别是什么?
  • JWT详解:一种轻量级的身份验证和授权机制
  • 2024年AI芯片峰会——边缘端侧AI芯片专场
  • 力扣172.阶乘后的0
  • elasticsearch文档Delete By Query API(一)
  • 蚂蚁数科独立后首度公布业务进展和战略布局