【微信小程序】如何利用云开发控制台的数据库实现用户登录操作。

本文详细介绍微信小程序中实现登录功能的方法,包括登录界面设计、云开发控制台账号密码设置及登录验证流程。通过示例代码展示如何使用微信云数据库进行用户信息验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微信小程序可以使用授权登录来获取用户的信息,免打扰的操作让用户省了不少心,但是开发者在设计登录和注册的页面时,总是避免不了使用数据库,而且后续还需要从云开发控制台的数据库中获取用户信息,因此登录和云开发控制台数据库相结合的操作十分适合初入门微信小程序接触后台的开发者。

1.登陆界面的设计

login.wxml
代码如下:

<view class="content">

  <view class="account">
  <view class="title">账号</view>
  <view class="num"><input bindinput="inputName" placeholder="用户名"  placeholder-style="color:#999999;"/></view>
  </view>

  <view class="hr"></view>

  <view class="account">
  <view class="title">密码</view>
  <view class="num">
  <input bindinput="inputPassword" placeholder="请输入密码" password/></view>
  </view>

  <view class="hr"></view>

  <button class="btn" type="primary" bindtap="login">登录</button> 
   
</view>

login.wxss
代码如下:

.content{
  margin-top: 40px;
}
.account{
   display: flex;
   flex-direction: row;
   padding-left: 20px;
   padding-top: 20px;
   padding-bottom: 10px;
   width: 90%;
}
.title{
   margin-right: 30px;
   font-weight: bold;
}
.hr{
  border: 1px solid #cccccc;
  opacity: 0.2;
  width: 90%;
  margin: 0 auto;
  background-color: red;
}
.btn{
  width: 90%;
  margin-top:40px;
  color: #999999;
}

示例界面图如下:
在这里插入图片描述

2.云开发控制台内预先设定好账号与密码

1.打开云开发控制台(还没有注册过云开发控制台的开发者,可以百度如何注册云开发控制台获取环境ID
在这里插入图片描述

2.设置好账号和密码
在这里插入图片描述

选择数据库,点击添加集合的“+”号,给自己的集合取一个名字,我这里的名字叫做user。点击添加记录,数据库会自动生成一个id,点击添加字段,设置好自己的账号和密码就行了。

3.登陆界面的JS

在上面的login.xml里,当用户按下绿色按钮进行登录时,后台就会把数据发送到数据库进行校验,而负责传送数据的JS函数就是——login()

代码如下:
login.js

// pages/login/login.js
let app = getApp();
// 获取云数据库引用
const db = wx.cloud.database();
const admin = db.collection('user');//注意,这里就是刚才的集合的名字——user
let name = null;//变量,用于存放用户输入的账号
let password = null;//变量,用于存放用户输入的密码

Page({

  /**
   * 页面的初始数据
   */
  data: {

  },
  //输入用户名
  inputName: function (event) {
    name = event.detail.value//将用户输入的账号放到变量里面
  },
  //输入密码
  inputPassword(event) {
    password = event.detail.value//将用户输入的密码放到变量里面
  },
  //登陆函数
  login() {
    let that = this;
    //登陆获取用户信息
    admin.get({
      success: (res) => {
        let user = res.data;
         console.log(res.data);
        for (let i = 0; i < user.length; i++) {  //遍历数据库对象集合
          if (name === user[i].account) { //用户名存在
            if (password !== user[i].password) {  //判断密码是否正确
              wx.showToast({
                title: '密码错误!!',
                icon: 'none',
                duration: 2500
              })
            } else {
              console.log('登陆成功!')
              wx.showToast({
                title: '登陆成功!!',
                icon: 'success',
                duration: 2500
              })

              wx.switchTab({
                url: '/pages/index/index',//这里是成功登录后跳转的页面
              })
            }
          } else {   //不存在
            wx.showToast({
              title: '无此用户名!!',
              icon: 'none',
              duration: 2500
            })
          }
        }
      }
    })
  }
})

最后实际效果就是这样啦。在这里插入图片描述

评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值