微信小程序--登陆接口
2017-12-12 15:03
169 查看
本文主要介绍微信小程序的登录前端的流程。实现的逻辑是通过获取微信小程序的wx.login的server获取token接口, 传入code, rawData, signature, encryptData实现的。
2.示例app.js调用外部js实现小程序用户登陆注册
Tips:由于这是初步代码逻辑严谨不足,需要各自完善。后端接口的逻辑需要自行解决哦!
登录
1.外部封装data.jsfunction getUs 4000 erInfo(code, loginStatus) { //封装函数 wx.getUserInfo({ success: function (info) { var rawData = info['rawData']; var signature = info['signature']; // var encryptData = info['encryptData']; var encryptedData = info['encryptedData']; //注意是encryptedData不是encryptData...坑啊 var iv = info['iv']; console.log(info) //小程序调用server获取token接口, 传入code, rawData, signature, encryptData. wx.request({ url: my_url, //my_url此处填写你封装的url data: { "code": code, "rawData": rawData, "signature": signature, 'iv': iv, 'encryptedData': encryptedData, }, dataType: 'JSON ', success: function (res) { var str = res.data; var session3rd = JSON.parse(str).session3rd wx.setStorageSync("userid", session3rd) if (res.statusCode != 200) { wx.showModal({ title: '登录失败' }); } } }); }, fail: function (res) { loginStatus = false; wx.openSetting({ success: function (data) { if (data) { if (data.authSetting["scope.userInfo"] == true) { loginStatus = true; wx.getUserInfo({ withCredentials: false, success: function (data) { console.info("3成功获取用户返回数据"); //设置缓存 //再次获取用户userid getUserInfo(code, loginStatus); }, fail: function () { console.info("3授权失败返回数据"); } }) } } }, fail: function () { console.info("3设置失败返回数据"); } }) } }) } module.exports = { getUserInfo: getUserInfo, }
2.示例app.js调用外部js实现小程序用户登陆注册
var util=require('pages/data/data.js');//此处绝对路径相对路径都能实现 App({ onLaunch: function () { var loginStatus = true; var userid=wx.getStorageSync("userid") if (userid == "" || userid==undefined){ if (!loginStatus) { wx.openSetting({ success: function (data) { if (data) { if (data.authSetting["scope.userInfo"] == true) { loginStatus = true; util.getUserInfo(code, loginStatus) } } }, fail: function () { console.info("设置失败返回数据"); } }) } else { wx.login({ success: function (res) { // console.log(res) var code = res["code"]; //2.小程序调用wx.getUserInfo得到rawData, signatrue, encryptData. util.getUserInfo(code, loginStatus) } }) } } } })
Tips:由于这是初步代码逻辑严谨不足,需要各自完善。后端接口的逻辑需要自行解决哦!
相关文章推荐
- 详解微信小程序文本框(label/input)、按钮(button)用法,以登陆界面为例
- 微信小程序wx.request接口封装
- 微信小程序授权登录接口
- 微信小程序 检查接口状态实例详解
- 微信小程序 调用code换取session_key接口 提示41002 appid missing的问题
- 微信小程序 服务器端生成用户登陆环节的 3rd_session
- 微信小程序 获取小程序码和二维码java接口开发
- 微信小程序request请求后台接口php简单实例
- 微信小程序 自动登陆PHP源码实例(源码下载)
- 微信小程序语音识别服务搭建全过程解析(https api开放,支持新接口mp3录音、老接口silk录音)
- 微信小程序红包开发 小程序发红包 开发过程中遇到的坑 微信小程序红包接口的
- (最新版) 微信视频裂变程序【接口版本】已发布!
- 如何生成微信小程序正方形二维码(不需请求接口获取)
- 微信小程序非开放接口开发,token使用
- 小程序红包开发跳坑记 微信小程序红包接口开发过程中遇到的问题 微信小程序红包开发
- phpcms开发微信小程序接口之获取栏目信息(get_categorys.php)
- 微信小程序调用后台接口+热点新闻滚动展示
- 微信小程序发短信,php开发小程序短信接口,获取手机验证码
- thinkPHP5.0开发微信小程序登录接口signature验证失败
- 微信小程序支付接口调用