微信小程序开发,简约和风天气app

1. 项目功能思维导图

在这里插入图片描述

2. 开发环境

  • 开发工具:微信小程序开发工具
  • 开发语言:js

3. 数据来源

4. 项目运行效果图

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

5. 换肤功能实现

  • 编写换肤布局页面skin.wxml
<!--pages/skin/skin.wxml-->
<view class="skin-container">
  <navigation-bar title="个性换肤" back="{{true}}" color="black" background="#FFF"></navigation-bar>

  <view class="skin-list-container">
    <block wx:for="{{skins}}" wx:key="item">
      <view class="skin-item" style="{{item.bg}}" bind:tap="onClickItemHandle" data-item="{{item}}">
        <view class="skin-tips-container" wx:if="{{item.bg ===currentSkin.bg}}">
          <text>当前皮肤</text>
        </view>
      </view>
    </block>
  </view>
</view>
  • 编写样式文件 skin.wxss
/* pages/skin/skin.wxss */

.skin-container{
  display: flex;
  height: 100vh;
  flex-direction: column;
}


.skin-list-container{
  display: flex;
  flex-wrap: wrap; /* 允许换行 */
  justify-content: space-between; /* 两端对齐 */
  padding: 20rpx;
  box-sizing: border-box;
}

.skin-list-container .skin-item{
  display: flex;
  height: 300rpx;
  width: 32.333%; /* 留2%的间隙 */
  border-radius:  10rpx;
  margin-bottom: 20rpx;

}
.skin-tips-container{
  width: 100%;
  line-height: 300rpx;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.5); /* 50%透明度的黑色 */
  color: #ffffff;
  border-radius:  10rpx;
}

  • 编辑逻辑代码 skin.js
// pages/skin/skin.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    skins: [{
        "bg": "background: linear-gradient(135deg, #FFC371 0%, #FF5F6D 100%)"
      },
      {
        "bg": "background: linear-gradient(to bottom, #D3CCE3 0%, #E9E4F0 100%)"
      },
      {
        "bg": "background: linear-gradient(to bottom, #4b6cb7 0%, #182848 100%)"
      },
      {
        "bg": "background: linear-gradient(to bottom, #a1c4fd 0%, #c2e9fb 100%)"
      },
      {
        bg: "background: linear-gradient(135deg, #FFD700 0%, #FF8C00 100%)"
      },
      {
        bg: "background: linear-gradient(to bottom, #398ffa 0%, #39b7ff 100%)"
      },
      {
        bg: "background: linear-gradient(45deg, #BDC3C7 0%, #F5D76E 50%)"
      },
      {
        bg: "background: linear-gradient(to bottom, #FF5F6D 0%, #6A11CB 100%)"
      },
      {
        bg: "background: linear-gradient(to top, #0F2027 0%, #2C5364 100%)"
      }
    ],
    currentSkin: null
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

    this.setData({
      currentSkin: wx.getStorageSync('skin')
    })
    console.log(this.data.currentSkin)
  },

  /**
   * 点击当前皮肤,并保存
   */
  onClickItemHandle(options) {
    const skin = options.currentTarget.dataset.item
    wx.setStorageSync('skin', skin)
    wx.showToast({
      title: '设置成功',
    })
    this.timer = setInterval(() => {
      wx.navigateBack()
    }, 1000)
  },
  onUnload() {
    // 必须清除定时器!
    clearInterval(this.timer);
  }
})

代码比较简单,先在data里面定义好颜色皮肤,然后通onClickItemHandle点击事件,保存当前皮肤。

6. 关于作者其它项目视频教程介绍

  1. Android新闻资讯app实战:https://www.bilibili.com/video/BV1CA1vYoEad/?vd_source=984bb03f768809c7d33f20179343d8c8
  2. Androidstudio开发购物商城实战:https://www.bilibili.com/video/BV1PjHfeXE8U/?vd_source=984bb03f768809c7d33f20179343d8c8
  3. Android开发备忘录记事本实战:https://www.bilibili.com/video/BV1FJ4m1u76G?vd_source=984bb03f768809c7d33f20179343d8c8&spm_id_from=333.788.videopod.sections
  4. Androidstudio底部导航栏实现:https://www.bilibili.com/video/BV1XB4y1d7et/?spm_id_from=333.337.search-card.all.click&vd_source=984bb03f768809c7d33f20179343d8c8
  5. Android使用TabLayout+ViewPager2实现左右滑动切换:https://www.bilibili.com/video/BV1Mz4y1c7eX/?spm_id_from=333.337.search-card.all.click&vd_source=984bb03f768809c7d33f20179343d8c8
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浩宇软件开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值