微信小程序(四十五)登入界面-简易版

注释很详细,直接上代码

上一篇

此文使用了vant组件库,没有安装配置的可以参考此篇vant组件的安装与配置

新增内容:
1.基础组件的组合
2.验证码倒计时的逻辑处理

源码:

app.json

json 复制代码
{
  "usingComponents": {
    "van-field": "@vant/weapp/field/index",
    "van-count-down": "@vant/weapp/count-down/index",
    "van-button": "@vant/weapp/button/index"
  },
  "pages": [
    "pages/index/index"
  ],
  "window": {
    "navigationBarTextStyle": "black",
    "navigationBarTitleText": "Weixin",
    "navigationBarBackgroundColor": "#ffffff"
  },
  "componentFramework": "glass-easel",
  "sitemapLocation": "sitemap.json",
  "lazyCodeLoading": "requiredComponents"
}

index.wxml

xml 复制代码
<view class="login-header">
  <view class="label">用户登入</view>
</view>
<view class="login-form">
  <van-cell-group>
  <!--  1.type 控制弹出手机键盘的类型
        2.maxlength 控制最大长度
        3.use-slot使用插槽
        4.placeholder-style占位内容样式
   -->
    <van-field placeholder="请输入手机号码" type="number" maxlength="{{11}}" use-slot placeholder-style="color: #999999;">
      <!-- slot在官方文档里面有几个特定的类型,可以自己找来康康 -->
      <view wx:if="{{!countDownVisble}}" slot="button">
        <van-button size="small" type="primary" bind:tap="sendCode">
          发送验证码
        </van-button>
      </view>
      <!-- 稍微调整一下文字位置 -->
      <view slot="right-icon" wx:else style="margin-top: -20rpx;">
        <!-- 倒计时组件 -->
        <!-- 
          1. time计时时常单位毫秒
          2.bind:change时间变化触发
         -->
        <van-count-down use-slot time="{{60*1000}}" bind:change="countDownChange">
          <text style="color: #999999; ">
            {{timeData.seconds}}秒后重新获取
          </text>
        </van-count-down>
      </view>
    </van-field>

    <van-field placeholder="请输入6位数验证码" maxlength="{{6}}" placeholder-style="color:#999999" />
  </van-cell-group>

  <view class="login-tip">未注册的手机号验证后将自动注册</view>
</view>

<!-- 在行内写样式,如果在css文件里要提高权值才行 -->
<button size="mini" style="margin:30rpx 0 0 300rpx; background-color: palegreen; padding: 0 50rpx;">登入</button>

index.wxss

css 复制代码
.label{
  font: 1em SimHei;
  font-size: 50rpx;
  margin: 60rpx 0 50rpx 30rpx;
}

.login-tip{
  margin: 20rpx 0 90rpx 30rpx;
  color: #dadada;
  font-size: 27rpx;
}

index.js

js 复制代码
Page({
  data:{
    countDownVisble:false,//是否显示倒计时
    timeData: {}//时间数据
  },
  //发送验证码
  sendCode(){
    this.setData({
      countDownVisble:true
    })
  },
  //倒计时变化
  countDownChange(ev){
    //console.log(ev)
    this.setData({
      //倒计时组件数据
      timeData:ev.detail,
      //倒计时是否显示判断
      countDownVisble:ev.detail.minutes===1||ev.detail.seconds>0
    })
  }
})

效果演示:(更加完善的会后续更新)

相关推荐
小蒜学长8 小时前
springboot基于Java的校园导航微信小程序的设计与实现(代码+数据库+LW)
java·spring boot·后端·微信小程序
说私域8 小时前
定制开发AI智能名片S2B2C商城小程序的发展与整合资源策略研究
人工智能·小程序
WenGyyyL9 小时前
微信小程序开发——第二章:微信小程序开发环境搭建
开发语言·python·微信小程序
TiAmo zhang10 小时前
微信小程序开发案例 | 个人相册小程序(上)
微信小程序·小程序
00后程序员张1 天前
iOS 上架费用全解析 开发者账号、App 审核、工具使用与开心上架(Appuploader)免 Mac 成本优化指南
android·macos·ios·小程序·uni-app·cocoa·iphone
WenGyyyL1 天前
微信小程序开发——第三章:WXML 与 WXSS —— 小程序页面结构与样式设计
微信小程序·小程序
万岳科技系统开发1 天前
外卖小程序中的高并发处理:如何应对大流量订单的挑战
算法·小程序·开源
WenGyyyL1 天前
微信小程序开发——第四章:小程序的组件与模块化开发
微信小程序·小程序·notepad++
说私域1 天前
社群时代下的商业变革:“开源AI智能名片链动2+1模式S2B2C商城小程序”的应用与影响
人工智能·小程序·开源
毕设源码-朱学姐1 天前
【开题答辩全过程】以 基于Java的医务室病历管理小程序为例,包含答辩的问题和答案
java·开发语言·小程序