微信小程序——登录注册的简单实现

首先在微信开发者工具中创建一个登录注册界面,代码如下:

longin.wxml部分:

<view class="box">

<view class="title">
  <text bindtap="" class="denglu" style="color: pink;">登录</text>
  <navigator url="/pages/register/register" style="position: absolute; left: 150px; top: 0;">注册</navigator>
</view>

<view class="longin">
  <input type="text" bindinput="usernameInput" placeholder="请输入用户名"/>
  <input type="password" bindinput="passwordInput" placeholder="请输入密码"/>
  <button disabled="{{jin}}" bindtap="post">登录</button>
</view>

</view>

longin.wxss部分:

.box{
  position:absolute;
  left: 35px;
  top: 50px;
  width: 250px;
  height: 250px;
}
.title text{
  margin-left: 60px;
}
input{
  margin-top: 40px;
}
button{
  margin-top: 40px;
  background-color: pink;
}

longin.js部分:

data: {
    jin:true,
    usernamel:'',
    passwordl:'',
    longin:true
  },

//以下是监听输入框的数据并获取,和对登录按钮的设置:只有当输入框中都有数据时才能点击
  usernameInput:function(e){
    console.log(e)
    var val = e.detail.value;
      this.setData({
        usernamel:val
      })
      if(val!='' && this.data.passwordl!=''){
        this.setData({
          jin:false
        })
      }
      else{
        this.setData({
          jin:true
        })
      }
  },

  passwordInput:function(e){
    var val = e.detail.value;
      this.setData({
        passwordl:val
      })
      if(val!='' && this.data.usernamel!=''){
        this.setData({
          jin:false
        })
      }
      else{
        this.setData({
          jin:true
        })
      }
  },

  post:function(){
    
    wx.request({    
      url: 'http://127.0.0.1:8080/user/list',    //请求与后端连接
      method:"POST",
      data:{
        username:this.data.usernamel,    //将数据传给后端
        password:this.data.passwordl
      },
      success:function(res){
          console.log(res);
          if(res.data!=0){    //后端对比数据后,判断正误
            console.log("登录成功")
            wx.navigateTo({    //跳转界面
              url: '',
            })
          }
          else{
            console.log("登录失败")
          }
      } 
    })
  }

接下来是注册界面

register.wxml部分:

<view class="box">

<view class="title">
  <text bindtap="" class="denglu">登录</text>
  <text bindtap="click" class="zhuce" style="color: pink;">注册</text>
</view>

<view class="register">
    <input type="text" bindinput="usernameInput" placeholder="创建用户名"/>
    <input type="text" bindinput="nameInput" placeholder="输入姓名"/>
    <input type="password" bindinput="passwordInput" placeholder="设置密码"/>
    <button disabled="{{jin}}" bindtap="post">注册并登录</button>
</view>

</view>

register.wxss部分:

.box{
  position:absolute;
  left: 35px;
  top: 50px;
  width: 250px;
  height: 250px;
}
.title text{
  margin-left: 60px;
}
input{
  margin-top: 40px;
}
button{
  margin-top: 40px;
  background-color: pink;
}

register.js部分:

data: {
    jin:true,
    username:'',
    name:'',
    password:'',
    time:''
  },

//以下同样是监听,和对注册按钮的设置
  usernameInput:function(e){
    var val = e.detail.value;
      this.setData({
        username:val
      })
      if(val!='' && this.data.password!='' && this.data.name!=''){
        this.setData({
          jin:false
        })
      }
      else{
        this.setData({
          jin:true
        })
      }
  },

  nameInput:function(e){
    var val = e.detail.value;
      this.setData({
        name:val
      })
      if(val!='' && this.data.username!='' && this.data.password!=''){
        this.setData({
          jin:false
        })
      }
      else{
        this.setData({
          jin:true
        })
      }
  },

  passwordInput:function(e){
    var val = e.detail.value;
      this.setData({
        password:val
      })
      if(val!='' && this.data.username!='' && this.data.name!=''){
        this.setData({
          jin:false
        })
      }
      else{
        this.setData({
          jin:true
        })
      }
  },

//同登录类似
  post:function(){
    wx.request({
      url: 'http://127.0.0.1:8080/user/register',
      method:"POST",
      data:{
        username:this.data.username,
        name:this.data.name,
        password:this.data.password,
        time:this.data.time
      },
      success:function(res){
          console.log(res);
          if(res.data){
            console.log("注册成功");
            wx.navigateTo({
              url: '',
            })
          }
          else{
            console.log("注册失败");
          }
      },
      
    })
  }

后端部分:

需在navicat中创建user表,在idea中创建User类

@Controller
@ResponseBody
@RequestMapping("/user")
public class jiemian {

    //登录
    @PostMapping("/list")
    @ResponseBody
    public static int list(@RequestBody User user) throws ClassNotFoundException, SQLException {
        Class.forName("com.mysql.cj.jdbc.Driver");//加载mysql驱动程序    ***一定要导入驱动包
        Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test1", "root", "123456");    //获取连接
        //对数据库进行操作
        PreparedStatement pre = conn.prepareStatement("select id from user where username='" + user.getUsername() + "' and password='" + user.getPassword() + "'");
        ResultSet set = pre.executeQuery();    //获取查询结果

        if (set.next()) {    //获取查询条数
            return 1;
        } else {
            return 0;
        }
    }

    //注册
    @PostMapping("/register")
    @ResponseBody
    public static boolean register(@RequestBody User user) throws ClassNotFoundException, SQLException {
        Class.forName("com.mysql.cj.jdbc.Driver");//加载mysql驱动程序
        Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test1", "root", "123456");
        PreparedStatement pre = conn.prepareStatement("insert into user(username,name,password) values(?,?,?)");

        //赋值
        pre.setString(1, user.getUsername());
        pre.setString(2, user.getName());
        pre.setString(3, user.getPassword());

        int rs = pre.executeUpdate();    //获取插入条数
        if (rs > 0) {
            return true;
        } else {
            return false;
        }
    }
}
  • 13
    点赞
  • 93
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在微信开发者工具中设计一个登陆界面并与数据库相连接,需要以下几个步骤: 1. 创建一个新的小程序项目,并在项目根目录下创建一个名为“cloudfunctions”的文件夹,用于存放云函数。 2. 在微信开发者工具中,右键点击“cloudfunctions”文件夹,选择“创建云函数”,并命名为“login”。 3. 在“login”云函数中,通过调用小程序提供的“wx.cloud.database()”方法,连接到云数据库。然后可以使用“collection()”方法获取到指定的集合,进行数据的增删改查操作。 4. 在前端页面中,设计一个登陆表单,并通过“wx.cloud.callFunction()”方法,调用“login”云函数,将用户输入的用户名和密码传递给云函数。 5. 在“login”云函数中,接收到用户输入的用户名和密码后,通过“where()”方法查询数据库中是否存在该用户,并验证密码是否正确。如果用户名和密码都正确,则返回登陆成功的信息,否则返回登陆失败的信息。 6. 在前端页面中,通过“wx.showToast()”方法,显示登陆成功或失败的提示信息,并进行相应的页面跳转。 需要注意的是,在连接云数据库之前,需要在小程序的“开发-开发设置-云开发”中开启云开发,并创建一个云环境。同时,在创建云函数之前,需要先在“云函数配置”中设置函数的运行环境和最大超时时间。 另外,为了保障用户的数据安全,建议在数据库中对用户密码进行加密存储,以防止被恶意攻击者窃取。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值