微信小程序云开发登录注册(带简单的页面布局)

  • Post author:
  • Post category:小程序


完整的云开发登录注册,带简单的页面布局

在这里插入图片描述

先在云数据库表中建立user表,表中可以没有数据,后面直接注册插入信息

login.wxml

<view class="login">
  <input class="inputText" placeholder="请输入账号" name="account"  bindchange="getAccount" /> 
 <!--密码-->
  <input class="inputText" password="true" placeholder="请输入密码" name="password" bindchange="getPwd" /> 
</view>
<!--按钮-->
<view class="button">
  <button class="loginBtn" type="primary" bindtap="login" form-type="submit">登录</button> 
  <button class="regBtn" type="primary" bindtap="reg" form-type="submit">注册</button> 
</view>

login.wxss

.login{
    text-align: center;
    margin: 70rpx 0 0 50px;
}
.login .inputText{
    border: 2px solid #00b271;
    width: 500rpx;
    height: 100rpx;
    border-radius: 18px;
    outline: none;
    margin-top: 10rpx;
}
.button{
    margin-top: 30rpx;
}
.regBtn{
    margin-top: 10rpx;
}

login.js

const db = wx.cloud.database(
Page({
  data: {
    account:[],
    password:[],
  } , 
  getAccount:function(e)
  {
    //将账号数据存进data
    this.setData({
      account:e.detail.value
    });
  },
  getPwd:function(e)
  {
    //将密码数据存进data
    this.setData({
      password:e.detail.value
    });
  },
  /*登录函数*/
  login:function(e)
  {
    const userCollection = db.collection("user");
    let flag = false  //表示账户是否存在,false为初始值
    console.log(this.data.account)
    //账号密码为空时弹出提示
    if(this.data.account==''||this.data.password==''){
      wx.showToast({  //显示密码错误信息
        title: '账号或密码为空',
        icon: 'error',
        duration: 2500
      });
    }else{
    userCollection.get({
      success: (res) => {
        let user = res.data;
        console.log(user);
        for (let i = 0; i < user.length; i++) {  //遍历数据库对象集合
          if (this.data.account === user[i].account) { //账户已存在
            flag=true;
            if (this.data.password !== user[i].password) {  //判断密码正确与否
              wx.showToast({  //显示密码错误信息
                title: '密码错误!!',
                icon: 'error',
                duration: 2500
              });
             break;
            } else {
              wx.showToast({  //显示登录成功信息
                title: '登陆成功!!',
                icon: 'success',
                duration: 2500
              })
              flag=true;
              wx.navigateBack({  //登录成功后跳转页面
                delta:1
              }) 
              break;
            }
          }
        };
        if(flag==false)//遍历完数据后发现没有该账户
        {
          wx.showToast({
            title: '该用户不存在',
            icon: 'error',
            duration: 2500
          })
        }
      }
    })
  }
  },
  /*注册*/
  reg:function(e){
    //获取云数据库user表
    const userCollection = db.collection("user");
    let flag = false  //表示账户是否存在,false为初始值
    //账号密码为空时弹出提示
    if(this.data.account==''||this.data.password==''){
      wx.showToast({  //显示密码错误信息
        title: '账号或密码为空',
        icon: 'error',
        duration: 2500
      });
    }else{
    userCollection.get({
      success: (res) => {
        let user = res.data;  //获取到的对象数组数据
        console.log(user);
        for (let i = 0; i < user.length; i++) {  //遍历数据库对象集合
          if (this.data.account === user[i].account) { //账户已存在
            flag = true;
            break;
          }
        }
        if (flag === true) {  //账户已存在
          wx.showToast({
            title: '账号已注册!',
            icon: 'error',
            duration: 2500
          })
        }
        else {  //账户未注册
          userCollection.add({
            data:{
              account:this.data.account,
              password:this.data.password
            }
          })
          //如果要实现先弹窗提示再跳转页面,可以使用以下方法
          //wx.showToast({//显示注册成功信息
          //   title: '添加成功',
          //   icon:'注册成功!',
          //   duration:2000,
          //   success:function(){
          //     setTimeout(function(){
          //       wx.navigateBack({
          //         delta: 1
          //       });
          //   },2000);
          //   }
          // })
          wx.showToast({	//显示注册成功信息
            title: '注册成功!',
            icon: 'success',
            duration: 2500
          })
          wx.navigateBack({//注册成功后跳转页面
            delta:1
          }) 
        }
      }
    })
    }
  }
})
)

参考原创 https://blog.csdn.net/weixin_42077074/article/details/113528608



版权声明:本文为ff980980原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。