【微信小程序-原生开发】TDesign 实战模板——账号密码登录页(含密码显示隐藏的技巧)

简介: 【微信小程序-原生开发】TDesign 实战模板——账号密码登录页(含密码显示隐藏的技巧)

需求描述

详见下图

代码实现

wxml

<view class="loginBox">
  <t-input bindclear="inputChange" bindchange="inputChange" data-prop='account' value="{{formData.account}}" prefixIcon="user-avatar" placeholder="请输入账号" clearable />

  <t-input bindclear="inputChange" bind:click='changEye' bindchange="inputChange" data-prop='password' value="{{formData.password}}" prefixIcon="lock-on" placeholder="请输入密码" suffixIcon="{{ { name: showPassword?'browse':'browse-off' } }}" type="{{showPassword?'':'password'}}" clearable />

  <view class="loginButton">
    <t-button bindtap='login' theme="primary" size="large" block>登录</t-button>
  </view>
</view>

wxss

.loginBox {
  width: 80%;
  margin: 30% auto;
}

.loginButton {
  margin-top: 100rpx;
}

json

{
  "usingComponents": {
    "t-input": "tdesign-miniprogram/input/input",
    "t-button": "tdesign-miniprogram/button/button"
  }
}

js

Page({
  data: {
    formData: {},
    showPassword: false,
  },
  changEye: function () {
    this.setData({
      showPassword: !this.data.showPassword
    })
  },
  inputChange: function (e) {
    let prop = e.currentTarget.dataset.prop
    let value = e.detail.value
    this.data.formData[prop] = value
    this.setData({
      formData: this.data.formData
    })
  },
  login: function (res) {
    let account = this.data.formData.account
    let password = this.data.formData.password

    if (!account) {
      wx.showToast({
        icon: 'none',
        title: "账号不能为空",
      })
      return
    }

    if (!password) {
      wx.showToast({
        icon: 'none',
        title: "密码不能为空",
      })
      return
    }
    // 查询数据库,校验账号密码是否正确
    wx.cloud.database().collection('user').where({
      account: account,
      password: password
    }).get().then(
      res => {
        let data = res.data
        if (data.length > 0) {
          wx.showToast({
            icon: "success",
            title: "登录成功",
          })
        } else {
          wx.showToast({
            icon: "error",
            title: "账号或密码错误,请重试",
          })
        }
      })
  },
  onShow() {
    this.getTabBar().init();
  },
})
目录
相关文章
|
9月前
|
缓存 小程序 前端开发
商城/点餐/家政类小程序源码合集_微信抖音小程序源码开发从入门到精通实战
本文系统讲解如何利用现有源码快速开发商城、点餐、家政类微信/抖音小程序,涵盖环境搭建、核心功能实现、多平台部署与优化,提供完整技术方案。实战导向,助力开发者高效入门与落地。
|
9月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
JSON 监控 小程序
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
1545 14
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
|
人工智能 自然语言处理 小程序
让小程序拥有“视觉之眼“:DeepSeek图像识别实战指南
本文介绍如何通过DeepSeek计算机视觉技术,赋予小程序“看懂世界”的能力。从构建视觉感知系统、训练专属视觉词典到创造会思考的界面,详细讲解了实现智能相册、植物识别器和老旧照片修复等功能的步骤。最后探讨性能优化与安全合规要点,展望未来视觉智能应用的无限可能。
|
缓存 移动开发 小程序
uni-vue3-wetrip自创跨三端(H5+小程序+App)酒店预订app系统模板
vue3-uni-wetrip原创基于vite5+vue3+uniapp+pinia2+uni-ui等技术开发的仿去哪儿/携程预约酒店客房app系统。实现首页酒店展示、预订搜索、列表/详情、订单、聊天消息、我的等模块。支持编译H5+小程序+App端。
635 9
|
移动开发 小程序
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
823 0
|
JavaScript 小程序 开发者
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
3575 0
|
小程序
java--微信小程序发送模板消息
java--微信小程序发送模板消息
745 0
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
4300 7
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
4989 1