微信小程序:11.本地生活小程序制作


开发工具:

  • 微信开发者工具
  • apifox进行创先Mock

项目初始化

  1. 新建小程序项目
  2. 输入ID
  3. 选择不使用云开发,js传统模版
  4. 在project.private.config中setting配置项中配置checkinalidKey:false

梳理项目结构

因为该项目有三个tabbar所以我们要创建三个页面

  1. 首页
  2. 消息
  3. 联系我们

设置文本以及导航栏

配置tabBar效果

复制代码
 "tabBar": {
    "list": [{
      "pagePath": "pages/home/home",
      "text": "首页",
      "iconPath": "image/tabBar/home.png",
      "selectedIconPath": "/image/tabBar/home1.png"
    },{
      "pagePath": "pages/message/message",
      "text": "消息",
      "iconPath": "image/tabBar/message.png",
      "selectedIconPath": "image/tabBar/message1.png"
    },{
      "pagePath": "pages/contaceus/contaceus",
      "text": "联系我们",
      "iconPath": "image/tabBar/content.png",
      "selectedIconPath": "image/tabBar/content1.png"
    }]
  },

使用阿里矢量图标库下载图片放入,image进行使用,效果如下

设置banner轮播图

使用apifox进行后台模拟Mock数据,使用Mock语法进行数据生成

在js中请求api

复制代码
// 获取轮播图函数
  getSwiperList(){
    wx.request({
    url: 'https://mock.apifox.com/m1/4376673-0-default/api/swiperList',
    method:'GET',
    success:(res)=>{
        console.log(res);
        this.setData({
          swiperList:res.data.image
        })
    }
  })
  },

定义swiperList进行数据存放,然后在wxml中进行数据渲染

复制代码
<!-- 轮播图 -->
<swiper indicator-dots>
  <swiper-item wx:for="{{swiperList}}" wx:key="id">
    <image src="{{item.path}}" mode=""/>
  </swiper-item>
</swiper>

设置九宫格

在js中请求数据

复制代码
// 获取九宫格函数
  getGrideList(){
    wx.request({
      url: 'https://mock.apifox.com/m1/4376673-4020798-default/api/gridelist',
      method:'GET',
      success:(res)=>{
        console.log(res.data.gridelist);
        this.setData({
          gridList:res.data.gridelist
        })
      }
    })
  },

在wxml中进行数据渲染

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

wxss样式

复制代码
/* 九宫格样式设置 */
.gride-list{
  display: flex;
  flex-wrap: wrap;
  border-left: 1rpx solid #efefef;
  border-top: 1px solid #efefef;
}
.grid-item{
  width: 33%;
  height: 200rpx;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-right: 1rpx solid #efefef;
  border-bottom: 1px solid #efefef;
  box-sizing: border-box;
}

.grid-item image {
  width: 60rpx;
  height: 60rpx;
}

.grid-item text{
  margin-top: 10rpx;
  font-size: 24rpx;
}

底部图片的设置

wxml设置

复制代码
<!-- 图片区域 -->
<view class="img-box">
  <image src="../../image/link01.png" mode="widthFix heightFix"/>
  <image src="../../image/link02.png" mode="widthFix heightFix"/>
</view>

wxss设置

复制代码
/* 底部样式 */
.img-box{
  display: flex;
  padding: 20rpx 10rpx;
  justify-content: space-around;
}
.img-box image{
  width: 340rpx;
  height: 300rpx;
}

样式总览

相关推荐
拉不动的猪2 小时前
移动端调试工具VConsole初始化时的加载阻塞问题
前端·javascript·微信小程序
WangHappy2 天前
不写 Canvas 也能搞定!小程序图片导出的 WebView 通信方案
前端·微信小程序
小时前端3 天前
微信小程序选不了本地文件?用 web-view + H5 一招搞定
前端·微信小程序·uni-app
icebreaker3 天前
Weapp-vite:原生模式之外,多一种 Vue SFC 选择
前端·vue.js·微信小程序
icebreaker3 天前
重走 Vue 长征路 Weapp-vite:编译链路与 Wevu 运行时原理拆解
前端·vue.js·微信小程序
大米饭消灭者6 天前
Taro是怎么实现一码多端的【底层原理】
微信小程序·taro
FliPPeDround7 天前
Vitest Environment UniApp:让 uni-app E2E 测试变得前所未有的简单
微信小程序·e2e·前端工程化
FliPPeDround7 天前
微信小程序自动化的 AI 新时代:wechat-devtools-mcp 智能方案
微信小程序·ai编程·mcp
吴声子夜歌7 天前
小程序——布局示例
小程序
码云数智-大飞7 天前
如何创建自己的小程序,码云数智与有赞平台对比
微信小程序