微信小程序登录注册界面(示例二)

微信小程序登录注册功能:基本的界面设计先看示例图片效果:一、项目背景与功能概述在微信小程序开发中,登录注册模块是几乎所有应用的基础功能。本文将分享一个完整的微信小程序登录

微信小程序登录注册功能:基本的界面设计

先看示例图片效果:

一、项目背景与功能概述

在微信小程序开发中,登录注册模块是几乎所有应用的基础功能。本文将分享一个完整的微信小程序登录注册功能示例的实现过程,该示例界面包含以下核心功能:

(1)首页展示登录 / 注册双按钮入口
(2)中间展示广告宣传语
(3)自定义背景图片设计
(4)登录按钮交互:点击弹出登录表单
(5)可自行接入抖音登录与手机号登录等方式
(6)提供 “重新选择” 按钮返回初始页面
(7)注册按钮交互:提示跳转逻辑(示例中未实现完整注册页)
该示例适合小程序开发初学者学习基础界面搭建与交互逻辑实现,也可作为实际项目的功能模板进行扩展。

二、界面设计与交互逻辑

2.1 页面结构规划
整个功能界面采用分层设计,视觉结构如下:

顶部区域:静态展示广告宣传语
背景层:自定义背景图片(设置为页面背景)
功能按钮区:居中排列的 “登录” 与 “注册” 按钮
交互层:点击登录按钮后弹出登录框
底部区域:登录方式选择区(抖音 / 手机号)
三、技术实现详解

具体的代码实现如下:

1.js代码:

Page({

  /**
   * 页面的初始数据
   */
  data: {
    current: 0
  },

  changeClick(e) {
    let tag = e.currentTarget.dataset.type;
    switch (tag) {
      case '0':
        wx.showToast({
          title: '点击注册后应跳转到一个新页面呦~',
          icon: 'none'
        })
        break;
      case '1':
        this.setData({
          current: 1
        })
        break;
      default:
        this.setData({
          current: 0
        })
        break;
    }
  },

  loginClick() {
    wx.showToast({
      title: '点击了登录监听',
      icon: 'none'
    })
  },

  wayClick(e) {
    let tag = e.currentTarget.dataset.type;
    wx.showToast({
      title: '点击使用' + (tag == '0' ? '抖音' : '手机号') + '方式',
      icon: 'none'
    })
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})

2.wxml代码:

<view class="bg-img"></view>
<view class="data-box top-box">
  <block wx:if="{{current==0}}">
    <view class="opacity">
      <view class="row-title">
        <view>小程序</view>
        <view>微信搜『蒜鸟编程』</view>
      </view>
      <view class="row-tip">
        已同步至微信小程序、CSDN、抖音、小红书、微信公众号、今日头条以及哔哩哔哩平台,搜索『蒜鸟编程』查看更多呦~
      </view>
      <view class="btn-box">
        <button class="btn btn-0" bind:tap="changeClick" data-type="0">注 册</button>
        <button class="btn btn-1" bind:tap="changeClick" data-type="1">登 录</button>
      </view>
    </view>
  </block>
  <block wx:else>
    <view class="login-box opacity">
      <view class="login-title">『账号登录』</view>
      <view class="level row-input">
        <view class="svg-icon svg-agree svg-m"></view>
        <input placeholder="请输入登录名" maxlength="12" />
      </view>
      <view class="level row-input">
        <view class="svg-icon svg-plat svg-m"></view>
        <input placeholder="请输入6位口令" type="number" maxlength="6" />
      </view>
      <view class="row-pwd" bind:tap="changeClick" data-type="2">重新选择</view>
      <view class="btn-login">
        <button class="btn btn-1" bind:tap="loginClick">登 录</button>
      </view>
    </view>
  </block>
</view>
<view class="data-box way-box level">
  <view class="svg-icon svg-douyin svg-m" bind:tap="wayClick" data-type="0"></view>
  <view class="svg-icon svg-phone svg-m" bind:tap="wayClick" data-type="1"></view>
</view>

3.wxss代码:

page {
  overflow: hidden;
}

.level {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.bg-img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-image: url('https://thumbnail0.baidupcs/thumbnail/70ba81fc1r937c0285f53a73ef295d05?fid=1101400036163-250528-575795020700475&time=1749880800&rt=sh&sign=FDTAER-DCb740ccc5511e5e8fedcff06b081203-slPn3JUjxYQrF8YKNssu5ElmMYE%3D&expires=8h&chkv=0&chkbd=0&chkpc=&dp-logid=358846454519069257&dp-callid=0&file_type=0&size=c710_u400&quality=100&vuk=-&ft=video');
  background-size: cover;
}

.bg-img::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('https://thumbnail0.baidupcs/thumbnail/70ba81fc1r937c0285f53a73ef295d05?fid=1101400036163-250528-575795020700475&time=1749880800&rt=sh&sign=FDTAER-DCb740ccc5511e5e8fedcff06b081203-slPn3JUjxYQrF8YKNssu5ElmMYE%3D&expires=8h&chkv=0&chkbd=0&chkpc=&dp-logid=358846454519069257&dp-callid=0&file_type=0&size=c710_u400&quality=100&vuk=-&ft=video');
  background-size: cover;
  background-position: center;
  mask-image: linear-gradient(to bottom, black 10%, transparent 100%);
  mask-mode: alpha;
  -webkit-mask-image: linear-gradient(to bottom, black 10%, transparent 100%);
}

.data-box {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
}

.top-box {
  padding: 10% 10% 25% 10%;
  background: linear-gradient(to top, #F2E7E5, rgba(0, 0, 0, 0));
}

.way-box {
  padding-bottom: 3%;
  justify-content: center;
}

.row-title {
  font-size: 60rpx;
  color: white;
}

.row-tip {
  margin-top: 20rpx;
  font-size: 26rpx;
  color: rgb(82, 81, 81);
}

.btn-box {
  margin-top: 10%;
  margin-bottom: 15%;
}

.btn {
  width: 100%;
  border-radius: 50rpx;
  margin: 6% 0;
}

.btn::after {
  border: none;
}

.btn-login {
  margin-top: 5%;
  margin-bottom: 10%;
}

.btn-0 {
  color: #f5759f;
  background-color: #ffffff;
}

.btn-1 {
  color: white;
  background-color: #f5759f;
}

.svg-m {
  margin: 0 20rpx;
  height: 40rpx;
  width: 40rpx;
}

/* 登录 */
.login-box {
  margin-bottom: 30%;
  padding: 10% 20rpx 1rpx 20rpx;
  background-color: rgba(0, 0, 0, 0.4);
  border-radius: 20rpx;
}

.login-title {
  text-align: center;
  color: #fff;
  font-size: x-large;
  margin-bottom: 10%;
}

.row-input {
  background-color: #fff;
  padding: 25rpx 15rpx;
  border-radius: 50rpx;
  margin: 30rpx 0;
  color: #474747;
}

.row-pwd {
  font-size: 28rpx;
  text-align: right;
  margin-right: 20rpx;
  color: rgb(207, 205, 205);
}

/* 动画样式 */
.opacity {
  opacity: 0;
  animation: topFadeIn 0.8s forwards;
}

@keyframes topFadeIn {
  to {
    opacity: 1;
  }
}

4、json代码:

{
  "usingComponents": {},
  "navigationStyle": "custom"
}

四、功能亮点与扩展方向

4.1 已实现的核心亮点

多登录方式支持:同时集成抖音登录与手机号登录,满足不同用户习惯
模态框交互设计:登录表单采用弹出形式,不破坏页面整体结构
广告功能:广告宣传语,提升运营推广能力
响应式布局:适配不同尺寸的手机屏幕,保证界面美观

4.2 可扩展优化方向,需要有需要的客户自行完善

注册功能完善:实现完整的注册页面,包含账号密码设置、短信验证等;
登录状态管理:添加本地存储,保存用户登录状态,实现自动登录;
安全增强:添加密码加密、防刷机制、登录异常检测等安全措施;
第三方集成:扩展微信登录、QQ 登录等更多第三方登录方式;

五、效果展示与源码获取

5.1 界面效果说明

首页展示:背景图片覆盖整个页面,中部居中排列登录 / 注册按钮
登录模态框:点击登录按钮后,弹出登录窗口,显示两种登录方式
交互反馈:点击按钮有明确的点击态反馈,操作后显示 Toast 提示登录状态

5.2 源码获取方式

完整的实现中含有动态樱花雨特效背景,需进我的主页在下载处查看,或点击https://download.csdn/download/weixin_45465881/91019956链接进入查看下载完整版~

这个示例适合作为小程序入门项目,开发者可以在此基础上扩展更多业务逻辑,如用户信息完善、密码登录、社交账号绑定等功能。在实际项目中,还需要结合后端 API 实现真实的身份验证与数据存储。更多示例,请关注 蒜鸟编程(微信小程序 / 抖音 / 小红书/微信公众号/微博****等同名称),在这里,编程与生活的边界从未如此清晰,期待与大家共同成长!后续将围绕编程技术持续更新更多实践示例,如果在实现过程中遇到问题,或者有更好的优化建议,欢迎在评论区交流讨论!

发布者:admin,转转请注明出处:http://www.yc00.com/web/1754998040a5225301.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信