前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【愚公系列】《微信小程序与云开发从入门到实践》018-实现一个简单的小程序登录页面

【愚公系列】《微信小程序与云开发从入门到实践》018-实现一个简单的小程序登录页面

原创
作者头像
愚公搬代码
发布2025-01-16 00:40:23
发布2025-01-16 00:40:23
50400
代码可运行
举报
运行总次数:0
代码可运行

标题

详情

作者简介

愚公搬代码

头衔

华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。

近期荣誉

2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。

博客内容

.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。

欢迎

👍点赞、✍评论、⭐收藏

🚀前言

在微信小程序的开发中,登录页面是用户首次接触应用的重要环节。一个设计良好、功能完善的登录页面不仅可以提升用户体验,还能有效提升用户的留存率和转化率。本篇文章将带你一步步实现一个简单而实用的小程序登录页面,帮助你掌握登录功能的基本实现技巧。

我们将从零开始,介绍登录页面的设计思路、组件选择与布局,以及如何处理用户输入和验证。在过程中,我们还会分享一些常见问题的解决方案,确保你能够顺利实现这一功能。

无论你是刚刚入门的小程序开发者,还是希望提升技能的开发者,这篇文章都将为你提供有价值的实践经验和实用的代码示例。让我们一起动手构建一个简洁而高效的小程序登录页面,提升用户的首次体验吧!

🚀一、实现一个简单的小程序登录页面

本节通过一个小程序登录页面来练习常见的页面组件使用。需要注意的是,本节并不涉及实际的用户登录功能,而仅仅是实现用户界面(UI)。

🔎1.页面框架代码

loginDemo 页面文件夹中创建一个 login.wxml 文件,代码如下:

代码语言:xml
复制
<!-- pages/loginDemo/loginDemo.wxml -->
<view class="containerView">
  <view class="header">
    <text>登录/注册</text>
  </view>
  <view class="tip">
    <text>请输入您的账号</text>
  </view>
  <view class="input">
    <input class="accountInput" placeholder="输入账号..." model:value="{{account}}"/>
  </view>
  <view class="input">
    <input class="accountInput" placeholder="输入密码..." password model:value="{{password}}"/>
    <view class="checkbox">
      <checkbox model:checked="{{checked}}"></checkbox>
      <text class="normal">登录/注册即表示同</text>
      <text class="highlight" bindtap="nav1">《隐私协议》</text>
      <text class="normal">与</text>
      <text class="highlight" bindtap="nav2">《服务协议》</text>
    </view>
  </view>
  <view class="buttonView">
    <button type="primary" style="width: 100%;" disabled="{{account.length == 0 || password.length == 0 || !checked}}" bindtap="confirm">确认</button>
  </view>
  <view class="footer">
    <text>微信小程序学习示例代码</text>
  </view>
</view>

🔎2.组件解释

  1. 双向数据绑定
    • <input><checkbox> 组件中,使用 model:valuemodel:checked 实现数据双向绑定。这样,页面上的组件值和 JS 文件中的数据是同步的。
    • 如果 JS 文件中的 accountpassword 发生改变,页面显示会更新;反之,用户操作时,变量值也会更新。
  2. 按钮禁用条件
    • 登录按钮只有在 accountpassword 不为空且用户勾选了协议时才可点击,使用了 disabled 属性来控制按钮的禁用状态。

🔎3.页面逻辑代码

loginDemo.js 中编写如下逻辑代码:

代码语言:javascript
代码运行次数:0
运行
复制
// pages/loginDemo/loginDemo.js
Page({
  data: {
    account: "",    // 用户名
    password: "",   // 密码
    checked: false, // 是否勾选协议
  },

  // 确认按钮点击事件
  confirm: function() {
    wx.showModal({
      content: `账号: ${this.data.account}, 密码: ${this.data.password}`,
      title: "进行登录/注册"
    });
  },

  // 跳转隐私协议页面
  nav1: function() {
    wx.showToast({
      title: "跳转隐私协议"
    });
  },

  // 跳转用户协议页面
  nav2: function() {
    wx.showToast({
      title: "跳转用户协议"
    });
  }
});
  • wx.showModalwx.showToast 是小程序框架提供的弹出提示框和弹出确认框的方法,用来模拟用户操作结果。

🔎4.样式代码

为实现较好的页面布局效果,需要编写样式。在 loginDemo.wxss 文件中编写如下样式:

代码语言:css
复制
/* pages/loginDemo/loginDemo.wxss */
.header {
  font-size: 25px;
  margin-left: 20px;
  margin-top: 15px;
  font-weight: bold;
}

.tip {
  margin-left: 20px;
  margin-top: 10px;
  font-size: 13px;
  color: #515151;
}

.input {
  margin-left: 20px;
  width: calc(100% - 40px);
  margin-top: 20px;
}

.accountInput {
  border-bottom: #919191 1px solid;
  height: 40px;
}

.checkbox {
  margin-left: 15px;
  margin-top: 10px;
}

.checkbox checkbox {
  transform: scale(0.7, 0.7);
}

.normal {
  font-size: 12px;
}

.highlight {
  font-size: 12px;
  color: cornflowerblue;
}

.buttonView {
  margin-top: 50px;
  margin-left: 20px;
  width: calc(100% - 40px);
}

.footer {
  position: absolute;
  bottom: 20px;
  text-align: center;
  width: 100%;
  font-size: 14px;
  color: gray;
}

🔎5.页面效果

通过编译和运行上述代码,可以看到页面的布局和样式已初步完成,但可能仍需进一步优化。最终的页面效果如图所示。

🔎6.总结

  1. 基础组件使用:本示例中使用了 <input>, <checkbox>, <button>, <view>, <text> 等常见组件。
  2. 双向绑定:通过 model:valuemodel:checked 实现了数据的双向绑定,确保页面与 JS 文件的数据同步。
  3. 条件禁用按钮:使用 disabled 属性实现按钮的条件禁用,只有在满足条件时,按钮才可点击。
  4. 跳转逻辑:通过 wx.showToastwx.showModal 模拟了协议页面跳转和用户登录逻辑。

这段代码展示了如何通过小程序的基础组件实现一个简单的登录界面,并使用一些常见的开发技巧来优化界面和交互体验。

事实上,在项目开发中很少使用到本节所做的登录注册页面,由于微信本身就有很强的社交属性,小程序提供的开放功能中有用户授权相关的接口,小程序可以直接借助微信用户信息来构建自己的用户体系。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🚀前言
  • 🚀一、实现一个简单的小程序登录页面
    • 🔎1.页面框架代码
    • 🔎2.组件解释
    • 🔎3.页面逻辑代码
    • 🔎4.样式代码
    • 🔎5.页面效果
    • 🔎6.总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档