微信小程序登录页验证与页面跳转(二) ---结合SpringBoot和MySQL实现多用户登录

这篇具有很好参考价值的文章主要介绍了微信小程序登录页验证与页面跳转(二) ---结合SpringBoot和MySQL实现多用户登录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、开发环境

Spring Boot的开发环境如下:
1、IDEA:2020
2、JDK版本:1.8
3、MySQL 版本:8

二、搭建Spring Boot项目

1.创建项目

代码如下(示例):

打开IDEA,新建项目:
微信小程序+spring+mysql实现登录注册,SpringBoot,微信小程序,spring boot,微信小程序,mysql

这里选择Spring lnitializr:
微信小程序+spring+mysql实现登录注册,SpringBoot,微信小程序,spring boot,微信小程序,mysql
在接下来的页面中进行如下配置:
微信小程序+spring+mysql实现登录注册,SpringBoot,微信小程序,spring boot,微信小程序,mysql
进行下一步:选择SpringBoot的版本,这里选择的是2.7.14
微信小程序+spring+mysql实现登录注册,SpringBoot,微信小程序,spring boot,微信小程序,mysql然后:
微信小程序+spring+mysql实现登录注册,SpringBoot,微信小程序,spring boot,微信小程序,mysql
设置项目所在路径和设置项目名称:
微信小程序+spring+mysql实现登录注册,SpringBoot,微信小程序,spring boot,微信小程序,mysql
项目创建好后,打开pom.xml,引入依赖,添加位置是在depedencies标签中。
微信小程序+spring+mysql实现登录注册,SpringBoot,微信小程序,spring boot,微信小程序,mysql

	<!--Spring Boot web依赖-->
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
	</dependency>
	
	<!-- mybatis-plus框架 -->
	<dependency>
		<groupId>com.baomidou</groupId>
		<artifactId>mybatis-plus-boot-starter</artifactId>
		<version>3.5.2</version>
	</dependency>
	<!--mysql数据库库-->
	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
		<version>8.0.26</version>
	</dependency>
	<!--德鲁伊-->
	<dependency>
		<groupId>com.alibaba</groupId>
		<artifactId>druid-spring-boot-starter</artifactId>
		<version>1.1.17</version>
	</dependency>

注:
如果这里报错,把2.1.14之后的.release去掉
微信小程序+spring+mysql实现登录注册,SpringBoot,微信小程序,spring boot,微信小程序,mysql

导入依赖后,在根目录下创建controller文件夹,在其中新建LoginController,在其中书写如下代码:

@RestController
public class LoginController {

    @Autowired
    UserService userService;

    @PostMapping("login")
    public Result login(@RequestBody User user){
        System.out.println(user);
        User loginUser = userService.login(user);
        System.out.println(loginUser);
        if(loginUser == null){
            return new Result(201,"用户名或密码错误",loginUser);
        }
        return new Result(200,"登录成功",loginUser);
    }
}

新建entity文件夹,新建User实体类:

@Data
@ToString
public class User {
    private String username;
    private String password;
}

新建mapper文件夹,新建UserDao接口

@Repository
public interface UserDao {
    @Select("select * from user where username = #{username} and password = #{password}")
    User login(User user);
}

新建servie文件夹,创建UserService和它的实现类:

public interface UserService {
    User login(User user);
}
@Service
public class UserServiceImpl implements UserService {

    @Autowired
    UserDao userDao;

    @Override
    public User login(User user) {
        User user1 = userDao.login(user);
        return user1;
    }
}

新建utils文件夹,在其中新建Result响应体:

@Data
@ToString
public class Result {
    private Integer code;
    private String msg;
    private Object data;

    public Result(Integer code, String msg, Object data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }

    public Result(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }
}

最后,在application.yml文件中加入以下配置:

spring:
    datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/wechat?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
        username: root
        password: 123456
        type: com.alibaba.druid.pool.DruidDataSource
server:
    port: 8080

最终项目结构如下:
微信小程序+spring+mysql实现登录注册,SpringBoot,微信小程序,spring boot,微信小程序,mysql

2.创建数据库

我使用的软件是Navicate,创建名为wechat的数据库,编码格式选择utf-8。
微信小程序+spring+mysql实现登录注册,SpringBoot,微信小程序,spring boot,微信小程序,mysql
数据库设计如下,命名为user.
微信小程序+spring+mysql实现登录注册,SpringBoot,微信小程序,spring boot,微信小程序,mysql
创建好数据库后,在其中添加数据如下:

微信小程序+spring+mysql实现登录注册,SpringBoot,微信小程序,spring boot,微信小程序,mysql
在数据库中添加其他数据即可实现多账户登录。

后端和数据库准备完成后,点击如下按钮运行项目:
微信小程序+spring+mysql实现登录注册,SpringBoot,微信小程序,spring boot,微信小程序,mysql
看到如下结果说明项目在8080端口启动成功:
微信小程序+spring+mysql实现登录注册,SpringBoot,微信小程序,spring boot,微信小程序,mysql
打开postman进行测试,测试端口设置为localhost:8080/login,下图显示测试成功。
微信小程序+spring+mysql实现登录注册,SpringBoot,微信小程序,spring boot,微信小程序,mysql

三、微信小程序端

端口测试成功后,打开微信小程序,更改之前的HTML和JS代码(见本人主页前文),和CSS不用作任何更改

1、HTML代码:

<view class="welcome">
<p>欢迎使用智能门禁系统</p>
</view>

<view class='login_block' >
  <view><span class="iconfont icon-geren"></span><input type='text' placeholder="请输入宿舍号" bindinput='inputUsr' class='input' value="{{ username }}"
    model:value="{{ username }}"></input></view>
  <view><span class="iconfont icon-mima1"></span><input password='true' placeholder="请输入通行密码" bindinput='inputPwd'class='input'value="{{ password }}"
    model:value="{{ password }}"></input></view>
  <button type='primary' bindtap='login' class="confirm">确定</button>
</view>

2、JavaScript代码:

// pages/login/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    password_input: "",
    username: "admin",
    password: "123456"
  },
  login: function () {
    if (this.data.username == "" || this.data.password == "") {
      wx.showToast({
        title: '请输入宿舍号和密码',
        icon: 'none',
        duration: 2000
      })
    } else {
      wx.request({
        url: 'http://localhost:8080/login',
        method: 'POST',
        data: {
          username: this.data.username,
          password: this.data.password
        },
        success: (res) => {
          console.log(res)
          if (res.data.code == 200) {
            wx.showToast({
              title: res.data.msg,
              icon: 'success',
              duration: 2000
            })
            setTimeout(function(){
              wx.navigateTo({
                url: '/pages/hello/hello',
              })
            },2000);
          } else {
            wx.showToast({
              title: res.data.msg,
              icon: 'none',
              duration: 2000
            })
            return;
          }
          wx.setStorage(
            {
              key: "username",
              data: this.data.username,
            }
            
          )
          wx.setStorage(
            {
              key: "password",
              data: this.data.password,
            }
          )
          
        }
      })
    }

  }
})

如果页面时TabBar页面,需要使用

wx.switchTab({
     url: '/pages/index/index',
})

完成后,测试结果:
微信小程序+spring+mysql实现登录注册,SpringBoot,微信小程序,spring boot,微信小程序,mysql
登录成功后成功跳转到index页面:
微信小程序+spring+mysql实现登录注册,SpringBoot,微信小程序,spring boot,微信小程序,mysql

总结

以上便是Spring Boot+微信小程序+MySQL实现登录功能与页面跳转的全部功能,这种实现方式较为简陋,仅为学习使用,希望大家多多点赞支持。
遇到问题大家可以私聊我哦。文章来源地址https://www.toymoban.com/news/detail-815740.html

到了这里,关于微信小程序登录页验证与页面跳转(二) ---结合SpringBoot和MySQL实现多用户登录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序页面跳转方式+跳转小程序

    官方文档:https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.switchTab.html 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 跳转到其他页面(非tabBar页) 返回上一页面或返回多级页面 首先需要在当前小程序app.json中定义:需要跳转的小程序的app-id app.josn文件: 第一种方法:wx.

    2024年02月12日
    浏览(83)
  • 微信小程序之页面跳转

    1、wx.navigateTo( ): 功能:保留当前页面,跳转到应用内的某个页面。 特点:跳转后原页面保留在后台,可以通过 wx.navigateBack() 返回到原页面,新页面显示在原页面之上,有返回按钮。 2、wx.redirectTo( ): 功能:关闭当前页面,跳转到应用内的另一个页面。 特点:跳转后原页面

    2024年04月23日
    浏览(60)
  • 微信小程序(四)页面跳转

    注释很详细,直接上代码 上一篇 新增内容 1.相对路径页面跳转 2. 绝对路径页面跳转 index.wxml 效果演示: 跳转之后 下一篇

    2024年01月19日
    浏览(48)
  • 微信小程序如何跳转页面

    微信小程序跳转页面可以通过 wx.navigateTo 函数来实现。具体步骤如下: 首先,在app.json文件中配置需要跳转的目标页面,例如: 在原始页面的js文件中,调用 wx.navigateTo 函数,跳转到目标页面,例如: 其中, url 参数指定要跳转的目标页面路径。 如果要在目标页面接收传递参

    2024年02月09日
    浏览(53)
  • 微信小程序 跳转客服页面

    小程序 用户反馈 没有页面设计 可以直接跳转小程序指定客服页面

    2024年02月06日
    浏览(52)
  • 微信小程序页面跳转方法

    微信小程序页面跳转的各种方法总结,备查。 保留当前页面,跳转到应用内的某个页面。可以通过调用 wx.navigateBack 返回到原页面。跳转后左上角出现返回小箭头,点击后可返回原本页面。示例代码: 使用场景 适用于需要跳转到新页面并保留原页面状态的情况,比如从列表

    2024年02月04日
    浏览(48)
  • 微信小程序—点击实现页面跳转

    1.按钮button标签通过bindtap属性绑定点击事件实现页面跳转。 2.但需注意,跳转到tabBar页面和非tabBar页面所调用的函数方法不一样。 跳转到TabBar页面需用wx.switchTab()方法 3.而 跳转到非tabBar页面用wx.navigateTo()方法

    2024年02月11日
    浏览(62)
  • 微信小程序事件和页面跳转

    一、页面跳转 1.非TabBar页面 一个小程序拥有多个页面,我们通过wx.navigateTo进入一个新的页面 我们通过下边点击事件实现页面跳转进行代码实现及参考 wx.navigateBack()回退到上一个页面 wx.redirectTo(url)删除当前页面跳转到指定页面 2.TabBar页面: wx.switchTab只能打开TabBar 3.其他

    2023年04月09日
    浏览(48)
  • 微信小程序点击跳转页面

         第一步:index.wxml 第二步:index.js 以下是点击跳转的详情页面: xiang.wxml: xiang.wxss:

    2024年02月14日
    浏览(42)
  • 微信小程序之普通页面跳转到tabBar页面

    前言 最近在做一个投稿小程序,主要功能是作者可以在微信小程序登录,注册,然后登陆进入主页面,可以投递稿件以及浏览自己已投递的稿件,和个人中心等主要功能,做的比较简单,因为本人对于小程序是一个初学者。 遇到的问题 登录页面不是tabBar页面,只是一个普通

    2024年02月08日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包