Springboot实现微信小程序注册登录及微信登录
运行环境
jdk1.8+eclipse+tomact 8.5+maven3.5+springboot 2.0.1 微信开发者工具
数据库
一张表三个字段
CREATE TABLE `user` (`uid` varchar(50) NOT NULL,`username` varchar(50) NOT NULL,`password` varchar(50) NOT NULL,PRIMARY KEY (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
整体目录结构
实现注册代码
@Autowiredprivate Userservice userservice;//用户注册@PostMapping("/register")public JsonResult register(@RequestBody User user) {System.out.println("进来了……");System.out.println(user.getUsername());//判断用户名和密码不为空if(StringUtils.isBlank(user.getUsername()) || StringUtils.isBlank(user.getPassword()) ) {return JsonResult.errorMsg("用户名和密码不能为空");}//判断用户名是否存在if(!userservice.findUsernameIsExist(user.getUsername())) {userservice.saveUser(user);}else {return JsonResult.errorMsg("用户名已存在,请换一个再试");}user.setPassword("");//不显示密码 return JsonResult.buildData(user);}
实现普通登录代码
//用户登录@PostMapping("/login")public JsonResult login(@RequestBody User user) {String username = user.getUsername();String password = user.getPassword();//判断用户名和密码不为空if(StringUtils.isBlank(username) || StringUtils.isBlank(password) ) {return JsonResult.errorMsg("用户名和密码不能为空");}//判断用户名是否存在 返回值类型为UserUser userReslut=userservice.queryUserForLogin(username,password);if(userReslut != null) {userReslut.setPassword("");return JsonResult.buildData(userReslut);}else {return JsonResult.errorMsg("用户名或密码不正确");} }
实现微信登录代码
//微信登录@PostMapping("/wxLogin")public JsonResult wxLogin(String code) {System.out.println("code:" + code);
// 登录凭证校验。通过 wx.login 接口获得临时登录凭证 code 后传到开发者服务器调用此接口完成登录流程
// 请求地址
// GET https://api.weixin.qq.com/sns/jscode2session?
// appid=APPID&
// secret=SECRET&
// js_code=JSCODE&
// grant_type=authorization_codeString url = "https://api.weixin.qq.com/sns/jscode2session";Map<String, String> param = new HashMap<>();param.put("appid", "你的appid");param.put("secret", "你的开发者秘钥");param.put("js_code", code);param.put("grant_type", "authorization_code");//发起get请求String wxResult = HttpClientUtil.doGet(url, param);System.out.println(wxResult);return JsonResult.buildData("微信登录成功");}
小程序端登录界面
小程序端登录js
//普通登录doLogin: function (e) {var formObject = e.detail.value;//console.log(formObject);var username = formObject.username;var password = formObject.password;//简单验证if (username.length == 0 || password.length == 0) {wx.showToast({title: '用户名或密码不能为空',icon: 'none',duration: 3000})} else {var serverUrl = app.serverUrl;wx.request({url: serverUrl + '/login',method: "POST",data: {username: username,password: password},header: {'content-type': 'application/json' //默认值},success: function (res) {console.log(res.data);var status = res.data.status;if (status == 200) {//登录成功wx.showToast({title: "登录成功",icon: 'success',duration: 3000})} else {wx.showToast({title: res.data.msg,icon: 'none',duration: 3000})}}})}},
小程序端微信登录js
// 微信登录 goWxLogin: function (e) {console.log(e.detail.errMsg)console.log(e.detail.userInfo)console.log(e.detail.rawData)wx.login({success: function (res) {console.log(res)// 获取登录的临时凭证var code = res.code;// 调用后端,获取微信的session_key, secretvar serverUrl = app.serverUrl;wx.request({url: serverUrl +"/wxLogin?code=" + code,method: "POST",success: function (result) {console.log(result);// 保存用户信息到本地缓存,可以用作小程序端的拦截器//app.setGlobalUserInfo(e.detail.userInfo);wx.redirectTo({url: '../register/register',})}})}})},
小程序端注册js
//注册doRegister: function(e){var formObject=e.detail.value;console.log(formObject);var username = formObject.username;var password = formObject.password;console.log(username.length);//简单验证if (username.length == 0 || password.length == 0){wx.showToast({title: '用户名或密码不能为空',icon: 'none',duration: 3000})}else{var serverUrl=app.serverUrl;wx.request({url: serverUrl+'/register',method: "POST",data: {username: username,password: password},header:{'content-type': 'application/json' //默认值},success: function(res){console.log(res.data);var status=res.data.status;if(status == 200){wx.showToast({title: "注册成功",icon: 'none',duration: 3000})wx.redirectTo({url: '../login/login',})}else {wx.showToast({title: res.data.msg,icon: 'none',duration: 3000})}}})}},
到此主要代码结束,功能算是实现了,还有很多需要完善得地方,奥力给 ~
完整代码已上传至github,有需要的小伙伴自取
传送门
Springboot实现微信小程序注册登录及微信登录相关推荐
- 微信小程序注册入口及流程(完整版教程)
微信小程序注册是免费的,在腾讯云微信公众平台即可注册,无论是个人.企业都可以免费注册微信小程序,先输入邮箱注册激活,然后填写主体类型对应的证件信息,最后管理员身份验证使用维信扫一扫即可,小程序5来详细 ...
- 微信小程序注册方法分享【小程序注册】
随着移动互联网的发展,微信小程序已经成为了人们日常生活中不可或缺的一部分.如果你想要注册一个微信小程序,那么就必须要了解微信小程序注册方法.下面给大家分享微信小程序注册方法. 微信小程序注册其实主要分 ...
- 微信小程序-注册登录功能-本地数据保存-页面数据交替
Title:微信小程序-注册登录功能-本地数据保存-页面数据交替 完美-小程序登录注册功能.rar-- 访问码:yqa5 1.主页面 主页面login.js代码 // pages/login/logi ...
- 万能门店小程序_超市门店微信小程序注册流程
现在超市门店商家利用小程序卖货已经非常普遍,小程序可以便捷地连接线上线下通道,让商家不再局限于门店周围的流量,能够从微信获取更多客户,从而提升销量和店铺知名度.超市要想有自己的线上电商小程序,就得先注 ...
- 微信小程序学习笔记02:微信小程序注册
文章目录 零.学习目标 一.小程序注册方法 1.注册 2.登录 二.小程序开发工具 1.下载开发工具 2.安装开发工具 3.启动开发工具 三.创建第一个小程序 1.启动开发者工具 2.新建项目 3.模 ...
- 微信授权绑定手机号 java_微信小程序获取手机号授权用户登录功能
小程序中有很多地方都会用到注册用户信息的地方,用户需要填写手机号等,有了这个组件可以快速获取微信绑定手机号码,无须用户填写. 1.getPhoneNumber这个组件通过button来实现(别的标签无 ...
- 仅需三步完成微信小程序注册
因为自己做些项目,所以边做边整理一些笔记,方便随时查阅及后期内容补充. 微信小程序注册步骤分为三步: 1,帐号信息 2,邮箱激活 3,信息登记 1,帐号信息-进入微信公众平台官方网址,填写账号信息,注 ...
- 微信小程序注册/登陆,若依后台获取token
微信小程序注册/登陆,若依后台获取token 后端接口: @ApiOperation(value = "小程序登入", httpMethod = "POST") ...
- 微信小程序-注册成为小程序开发者
微信小程序-注册成为小程序开发者 #登录微信公众平台 htttps://mp.weixin.qq.com 注册账号 选择小程序 填写账户信息 这里需要注意:每个邮箱只能申请一个小程序,且该邮箱将作为登 ...
- 微信小程序账号长时间未登录冻结解封
微信小程序账号长时间未登录冻结解封 1.账号找回链接[官方]:http://mp.weixin.qq.com/acct/findacct?action=scan 2.按照官方指引的三个操作步骤进操作, ...
最新文章
- SAP MM PR 审批中的REJECT
- 转发:Hekaton:SQL Server集成的内存事务处理
- 网络安全比赛理论答题(四)
- 【最新合集】PAT乙级最优题解(题解+解析+代码)
- 想给男友一个惊喜,没想到是这样的结局......
- 【绘图】matlab绘制图形
- Java selenium和python_c#和Java和python设置selenium超时时间
- 智学网显示服务器开小差了,小学习语文学习技巧三字口诀,学习语文更容易了!...
- AxureUX中后台管理信息系统通用原型方案 v2 (全新AxureRP8作品 )
- 如何根据关键字批量获取淘宝联盟中的商品图片
- 补阳气吃什么 补阳气的食物
- elementui messagebox没有取消按钮
- Tomat报错 The APR based Apache Tomcat Native library which allows optimal performance in production
- Matplotlib 绘制条形图
- 大学计算机学cad的,征文通知:第二十二届中国计算机辅助设计与图形学(CADCG 2019)学术会议...
- 计算两个向量的逆时针夹角
- Matlab滤波器设计——基于filter函数的低通、高通、带通、带阻滤波器
- 详讲全排列算法,及解决数字搭积木问题
- Win未检测出摄像头
- 熵、图像熵的意义及计算方法