微信小程序开发笔记—设置页面密码

简介: 本文主要介绍了微信小程序实现设置页面密码的功能实现

@TOC

一、功能概述

要实现的功能是给想要访问的页面设置一个密码,输入密码后如果密码错误,会提示密码错误,正确会直接进入页面。

二、实现效果

可以先看一下底部导航栏

479b8fe1b82caffb225e4b147a55830f_08f48601376f45f5bee8347b77d3863a.png

本人的需求是想要把小程序分成三个大板块,中间是共享页面,两边是个人页面,点击个人的底部导航栏按键时会进入个人登陆页面,需要在个人登录页面输入密码才能访问个人页面。

进入个人登录页面后的内容如下图

957c22b8f893a86cf0e2b7d8590e2c29_0c5eaa5a88ed4064a8cefed58e809888.png

这里并没有让input输入框的边框显示出来,具体怎么让边框显示出来以及有哪些样式,可以在input的style中设置outline-style,关于outline-style的概要可以点击超链接看一下,这里就不再做介绍。

在个人登录页面输入密码后可以正常进入,如果密码错误会有相应的提示,如下图所示

becc06a57b7aaed2397f8a12ecde6058_ed2ff0aba15445f9818c1bcde6609070.png

三、实现方法

看完实现效果,接下来说一下如何实现,实现时主要用到了input、button,其次还用到了wx.showToast函数。

1、新建个人登陆页面

在进入个人页面之前,需要有一个个人登录页面,因此需要新建一个,关于如何快速新建页面,可以看一下关于底部导航栏如何实现的文章微信小程序开发笔记二—底部导航栏tabar

2、设计密码获取判别函数和响应函数

1)定义变量

在新建的的个人登陆页面的.ts文件中定义变量

data: {
    lin_pswd:'',
    lin_pswd_judge:'',
  },

其中lin_pswd用于获取input输入的密码,lin_pswd_judge用于指示判别结果。

2)设计密码获取判别函数

get_lin_pswd:function(e:any){
    let lin_pswd = e.detail.value;   // 获取输入结果
    if (lin_pswd == 960404){   // 密码判断
      this.data.lin_pswd_judge = '0'
    }
    else{
      this.data.lin_pswd_judge = ''
    }
  },

该函数的大概意思就是先利用lin_pswd获取文本框输入内容,然后判别是否正确,如果正确就会将判别结果变量lin_pswd_judge赋值为0,否则就给判别结果变量赋值为空。

3)设计响应函数

设计完密码获取判别函数后,需要对不同的判别结果做出响应,如果密码正确,则跳转进入个人页面,如果不正确会提示密码错误,具体实现程序如下

judge_lin_pswd:function(){
    let lin_pswd_judge = this.data.lin_pswd_judge
    this.setData({   // 清除文本框内容
      lin_pswd: '',
    })

    if (lin_pswd_judge == '0'){
      wx.navigateTo({url:'/pages/lin/lin'})
      this.setData({   // 清空判断结果
        lin_pswd_judge: '',
      })
    }
    else{
      wx.showToast({
        title: '密码错误',
        icon: 'none',   // sucess:成功;error:失败;loading:加载;none:不显示
        image: '/image/password_error.png',   // 图片路径优先级高于icon
        duration: 2000   // 提示的延迟时间
      })
    }
  },

该函数是在button按下后执行的,因此首先无论密码正不正确会先将文本框输入的内容清空,清空之后判别lin_pswd_judge的值,如果是0,说明密码输入正确,会先接跳转到个人页面,然后清空变量lin_pswd_judge,防止出现在进入个人页面退出后不输入密码再次点击登录会直接进入的情况。如果密码输入错误,会利用wx.showToast函数提示,提示的图片和文字都可以自己修改,详见微信官方文档介绍。

3、设计页面内容

完成以上变量定义和函数设计后就可以着手个人登陆页面设计了,这部分代码都在.wxml文件中。

1)input组件设计

按照惯例,先上程序

 <input style="width: 330rpx; height: 73rpx; display: block; box-sizing: border-box;text-align: center; outline-style: none;" type="text" placeholder="请输入密码" focus="true" maxlength="6" password="{
  
  {!open}}" bindinput="get_lin_pswd" value="{
  
  {lin_pswd}}"/>

这里只简单介绍和一下其中用到的一些关键的属性,其他的可以参考一下微信官方文档对于input的介绍

  • type设置输入的类型

    这里设置为text,点击文本输入框后会直接拉出手机的文本输入键盘,如果将text改程number,则点击文本输入框后会拉出手机的数字输入键盘。

  • placeholder设置输入框为空是的内容

    这里写入的是请输入密码

  • maxlength设置最大输入长度

  • bindinput指示的为键盘输入时触发的函数
  • value为输入的内容

这里把value设置成密码判别时的变量,主要是为了方便在点击登陆后能够及时清除文本框中的输入内容。

2)button组件设计

button组件程序如下

 <button class="lin_button_enter" type="primary" plain="true" bindtap="judge_lin_pswd" style="position: relative; left: 2rpx; top: 104rpx">进入专属空间</button>

这里也不对button组件做过多的介绍,可以去微信官方文档搜索。

这里用到的关键属性有以下几个

  • plain设置按钮是否镂空(背景色透明)
  • bindtap按键按下后执行的函数

    四、总结

    以上就是设置页面密码的整个实现流程,如果你成功了麻烦点个赞呀,这里总结一下实现这项功能时遇到的问题以及后续的优化方向。

    1、实现过程中遇到的问题

    由于本人从未接触过微信小程序开发的内容,也没有学习过前端的知识,所以整个实现过程中遇到了很多问题,除去最开始的怎么实现按键跳转,怎么设置文本框属性这些以外,遇到的问题主要有以下几点

1)如何获取文本框输入内容?
2)如何实现密码判别?
3)如何在密码错误时提示?
4)如何在点击登陆后清除文本框输入内容?

获取文本框输入内容的方法比较粗陋,如果有其他方法请留言,作为小白的我非常想了解以下。其次对于如何清除文本框内容也是在冲浪过后跟着大佬们学习的。

2、后续优化方向

目前只是实现了简单的登录功能,但是还有很多可以优化的地方,主要想到了以下几点

1)设置一个小眼睛,可以控制输入内容是否可见;
2)添加一个密码重置功能;

相关文章
|
15天前
|
小程序 前端开发 API
微信小程序全栈开发中的异常处理与日志记录
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的异常处理和日志记录,强调其对确保应用稳定性和用户体验的重要性。异常处理涵盖前端(网络、页面跳转、用户输入、逻辑异常)和后端(数据库、API、业务逻辑)方面;日志记录则关注关键操作和异常情况的追踪。实践中,前端可利用try-catch处理异常,后端借助日志框架记录异常,同时采用集中式日志管理工具提升分析效率。开发者应注意安全性、性能和团队协作,以优化异常处理与日志记录流程。
|
15天前
|
小程序 安全 数据安全/隐私保护
微信小程序全栈开发中的身份认证与授权机制
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的身份认证与授权机制。身份认证包括手机号验证、微信登录和第三方登录,而授权机制涉及角色权限控制、ACL和OAuth 2.0。实践中,开发者可利用微信登录获取用户信息,集成第三方登录,以及实施角色和ACL进行权限控制。注意点包括安全性、用户体验和合规性,以保障小程序的安全运行和良好体验。通过这些方法,开发者能有效掌握小程序全栈开发技术。
|
16天前
|
JavaScript 前端开发 小程序
微信小程序全栈开发之性能优化策略
【4月更文挑战第12天】本文探讨了微信小程序全栈开发的性能优化策略,包括前端的资源和渲染优化,如图片压缩、虚拟DOM、代码分割;后端的数据库和API优化,如索引创建、缓存使用、RESTful API设计;以及服务器的负载均衡和CDN加速。通过这些方法,开发者可提升小程序性能,优化用户体验,增强商业价值。
|
15天前
|
小程序 前端开发 JavaScript
微信小程序全栈开发中的PWA技术应用
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中PWA技术的应用,PWA结合Web的开放性和原生应用的性能,提供离线访问、后台运行、桌面图标和原生体验。开发者可利用Service Worker实现离线访问,Worker处理后台运行,Web App Manifest添加桌面图标,CSS和JavaScript提升原生体验。实践中需注意兼容性、性能优化和用户体验。PWA技术能提升小程序的性能和用户体验,助力开发者打造优质小程序。
|
4天前
|
数据采集 存储 人工智能
【Python+微信】【企业微信开发入坑指北】4. 企业微信接入GPT,只需一个URL,自动获取文章总结
【Python+微信】【企业微信开发入坑指北】4. 企业微信接入GPT,只需一个URL,自动获取文章总结
18 0
|
4天前
|
人工智能 机器人 API
【Python+微信】【企业微信开发入坑指北】3. 如何利用企业微信API给微信群推送消息
【Python+微信】【企业微信开发入坑指北】3. 如何利用企业微信API给微信群推送消息
8 0
|
4天前
|
缓存 人工智能 API
【Python+微信】【企业微信开发入坑指北】2. 如何利用企业微信API主动给用户发应用消息
【Python+微信】【企业微信开发入坑指北】2. 如何利用企业微信API主动给用户发应用消息
9 0
|
15天前
|
SQL 安全 小程序
探索微信小程序全栈开发的安全性问题
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的安全性问题,包括数据安全、接口安全、隐私保护和代码安全。为解决这些问题,建议采取数据加密、使用HTTPS协议、身份认证与授权、输入验证、安全审计及漏洞扫描以及安全培训等措施。通过这些方法,开发者可提升小程序安全性,保护用户隐私和数据。
|
1月前
|
小程序 前端开发 程序员
微信小程序开发入门教程-小程序账号注册及开通
微信小程序开发入门教程-小程序账号注册及开通
|
18天前
|
小程序 数据库
【微信小程序7】云开发中实时聊天系统的实现方法
【微信小程序7】云开发中实时聊天系统的实现方法
22 0