微信小程序微信小程序开发零基础实战入门微信小程序

零基础学小程序005---小程序登陆注册功能实现

2018-08-07  本文已影响41人  编程小石头666

上一节给大家将来post提交数据,如果没看的请移步下面
零基础学小程序004----小程序post请求,提交数据到服务器,小程序下单,小程序用户注册功能
上一节虽然有提到小程序用户注册与登陆功能,但是篇幅有限,就没详细写。今天就来给大家详细讲解下小程序的注册与登陆功能实现。

实现功能点

先说下登陆和注册的基本原理

登陆和注册,肯定需要我们获取输入的用户名和密码。然后把用户名和密码传到服务器后台,后台把用户名和密码存到数据库里,存入成功就返回注册成功的信息,
以后登陆时就可以直接查询用户是否存在,存在就比对密码,如果密码一致,就返回登陆成功的信息。

一,获取输入内容

先看下布局index.xml

<!--index.wxml-->
<input class='inputA' placeholder="请输入用户名" bindinput="inputName" />
<input class='inputA' placeholder="请输入密码" password='true' bindinput="inputPassword" />
<button wx:if="{{!isLogin}}" type='primary' bindtap='register'>注册</button>
<button wx:if="{{isLogin}}" type='primary' bindtap='login'>登陆</button>

注意点:

 //获取用户输入的值a
 inputName: function(e) {
  inputName = e.detail.value;
 },
 //获取用户输入的值b
 inputPassword: function(e) {
  inputPassword = e.detail.value;
  console.log("输入的密码:" + inputPassword);
 },

到这里我们就可以获取到输入的用户名和密码了。

二,对输入的用户名和密码做校验

注意校验用户名不能为空,密码不能为空,密码不能少于6位数。
校验代码如下:

 //检测输入值
 checkInput: function() {
  if (inputName == "" || inputName == null ||
   inputName == undefined) {
   this.showErrorToastUtils('请输入用户名');
  } else if (inputPassword == "" || inputPassword == null || inputPassword == undefined) {
   this.showErrorToastUtils('请输入密码');
  } else if (inputPassword.length < 6) {
   this.showErrorToastUtils('密码至少要6位');
  }
  return true;
 },

当用户名和密码都符合规则时,返回true。说明输入的用户名和密码合法。

三,注册功能的实现

注册就需要我们请求后台注册接口了。

 // 注册
 register: function() {
  var that = this;
  var isrightful = that.checkInput();
  if (isrightful) {
   wx.request({
    url: 'http://localhost:8080/user/testSave',
    header: {
     "Content-Type": "application/x-www-form-urlencoded"
    },
    method: "POST",
    data: {
     name: inputName,
     password: inputPassword
    },
    success: function(res) {
     console.log(res)
     if (res.statusCode != 200) {
      wx.showToast({ //这里提示失败原因
       title: res.data.message,
       icon: 'loading',
       duration: 1500
      })
     } else {
      wx.showToast({
       title: '注册成功', //这里成功
       icon: 'success',
       duration: 1000
      });
      that.setData({
       isLogin: true,
      }
      )
     }
    },
    fail: function(res) {
     console.log(res)
     wx.showToast({
      title: '请求失败',
      icon: 'none',
      duration: 1500
     })
    }
   });
  }
 },

注意点:
if (res.statusCode != 200) 这里我们判断后台返回的statusCode,只有statusCode等于200时,才说明我们注册成功,下面时注册成功后后台返回的信息


注册成功.png

四,登陆功能实现

登陆其实和注册都是把用户名和密码传到后台,只不过登陆时,先那用户名去数据库里查,看是否存在这个用户。
如果存在,就去比对我们传的密码和数据库里存的密码是否一样,如果一样就登陆成功,返回登陆信息。


登陆成功.png

下面贴出完整代码index.js

var inputName = "";
var inputPassword = "";
Page({
 /**
  * 页面的初始数据
  * 初始化两个输入值
  */
 data: {
  isLogin: false
 },
 //获取用户输入的值a
 inputName: function(e) {
  inputName = e.detail.value;
 },
 //获取用户输入的值b
 inputPassword: function(e) {
  inputPassword = e.detail.value;
  console.log("输入的密码:" + inputPassword);
 },
 // 注册
 register: function() {
  var that = this;
  var isrightful = that.checkInput();
  if (isrightful) {
   wx.request({
    url: 'http://localhost:8080/user/testSave',
    header: {
     "Content-Type": "application/x-www-form-urlencoded"
    },
    method: "POST",
    data: {
     name: inputName,
     password: inputPassword
    },
    success: function(res) {
     console.log(res)
     if (res.statusCode != 200) {
      wx.showToast({ //这里提示失败原因
       title: res.data.message,
       icon: 'loading',
       duration: 1500
      })
     } else {
      wx.showToast({
       title: '注册成功', //这里成功
       icon: 'success',
       duration: 1000
      });
      that.setData({
       isLogin: true,
      }
      )
     }
    },
    fail: function(res) {
     console.log(res)
     wx.showToast({
      title: '请求失败',
      icon: 'none',
      duration: 1500
     })
    }
   });
  }
 },
 // 登陆
 login: function() {
  var that = this;
  var isrightful = that.checkInput();
  if (isrightful) {
   wx.request({
    url: 'http://localhost:8080/user/testLogin',
    header: {
     "Content-Type": "application/x-www-form-urlencoded"
    },
    method: "POST",
    data: {
     name: inputName,
     password: inputPassword
    },
    success: function(res) {
     console.log(res)
     if (res.statusCode != 200) {
      wx.showToast({ //这里提示失败原因
       title: res.data.message,
       icon: 'loading',
       duration: 1500
      })
     } else {
      wx.showToast({
       title: '登陆成功', //这里成功
       icon: 'success',
       duration: 1000
      });
      that.setData({
       isLogin: true,
      }
      )
     }
    },
    fail: function(res) {
     console.log(res)
     wx.showToast({
      title: '请求失败',
      icon: 'none',
      duration: 1500
     })
    }
   });
  }
 },
 //检测输入值
 checkInput: function() {
  if (inputName == "" || inputName == null ||
   inputName == undefined) {
   this.showErrorToastUtils('请输入用户名');
  } else if (inputPassword == "" || inputPassword == null || inputPassword == undefined) {
   this.showErrorToastUtils('请输入密码');
  } else if (inputPassword.length < 6) {
   this.showErrorToastUtils('密码至少要6位');
  }
  return true;
 },

 // 错误提示
 showErrorToastUtils: function(e) {
  wx.showModal({
   title: '提示!',
   confirmText: '朕知道了',
   showCancel: false,
   content: e,
   success: function(res) {
    if (res.confirm) {
     console.log('用户点击确定')
    }
   }
  })
 },
})

到此我们的小程序注册与登陆功能就实现了。
如果有问题可以加我微信2501902696(备注小程序)
想要源码也可以加我微信

扫描识别下面小程序码,学习更多零基础入门小程序的课程。


编程学习.jpg
上一篇下一篇

猜你喜欢

热点阅读