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

注释很详细,直接上代码

上一篇

此文使用了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
    })
  }
})

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

相关推荐
云起SAAS7 小时前
B2B 木材行业供需对接平台微信小程序开源
微信小程序·小程序·ai编程·看广告变现轻·b2b 木材行业供需对接平台
程序媛徐师姐10 小时前
Java基于微信小程序的球馆预约系统,附源码+文档说明
java·微信小程序·球馆预约系统小程序·jav球馆预约系统小程序·java球馆预约微信小程序·球馆预约微信小程序·java球馆预约系统
毕设源码-邱学长10 小时前
【开题答辩全过程】以 基于微信小程序地方小吃分享平台设计与实现为例,包含答辩的问题和答案
微信小程序·小程序
不懂代码的切图仔10 小时前
小程序web-view嵌入h5扫码 jssdk方式
前端·微信小程序
BugShare11 小时前
小程序构建npm时报错应该如何解决
微信小程序·npm
大尚来也13 小时前
自助建站系统有哪些?自助建站平台深度对比
微信小程序
码云数智-园园14 小时前
2026建网站一般需要多少钱?
微信小程序
嫂子开门我是_我哥17 小时前
从零开发微信小程序+若依后端项目:本地全流程开发,从环境搭建到前后端联调跑通
微信小程序·小程序·若依
Kingexpand_com1 天前
物联网APP开发实战:如何打造用户真正愿意用的智能硬件伴侣
物联网·小程序·app·智能硬件·物联网app定制开发
CHU7290352 天前
家政同城服务APP前端功能玩法解析
前端·小程序