uniapp 请求微信登录授权 判断是否授权 授权成功并登录
2020-07-02 11:16
453 查看
首先在button 上加上open-type=“getUserInfo” 来调用模拟授权框
<view > <button class="loginWeChatBtn" open-type="getUserInfo" @getuserinfo="wechatLogin">微信一键登录</button> </view>
在methods方法中获取用户名 获取性别 获取头像 获取js_code去换取后台返回的openID
wechatLogin(){ var that=this // 获取用户名 获取性别 获取头像 获取js_code去换取后台返回的openID uni.login({ provider: 'weixin', success: function (loginRes) { let js_code=loginRes.code;//js_code可以给后台获取unionID或openID作为用户标识 // 获取用户信息 uni.getUserInfo({ provider: 'weixin', success: function (infoRes) { //infoRes里面有用户信息需要的话可以取一下 let username=infoRes.userInfo.nickName;//用户名 let gender=infoRes.userInfo.gender;//用户性别 let avatarUrl=infoRes.userInfo.avatarUrl;//头像 //判断是否授权 uni.getSetting({ success(res) { console.log("授权:",res); if (!res.authSetting['scope.userInfo']) { //这里调用授权 console.log("当前未授权"); } else { //用户已经授权过了 console.log("当前已授权"); // 弹出正在登录的弹框 uni.showLoading({ mask:true, title: '正在登录···', complete:()=>{} }); // 判断已授权调取接口并获取openId that.$apiReq.req({ // 创建对象 url: '/ui/wxutil/loginByWx', // 示例请求路径 method:"post", data : { 'code':js_code, }, success: (res) => { //需要openId 可以在这里打印出来 if(res.data.code==202){ // 登录成功后判断是否是第一次注册 如果是弹出选择身份页面 uni.navigateTo({ url: './registeredIdentity/registeredIdentity' success: res => {}, fail: () => {}, complete: () => {} }); }else if(res.data.code==201){ uni.switchTab({ url: '../homePage/homePage', success: res => {}, fail: () => {}, complete: () => {} }); } }, }) } } }) }, fail:function(res){} }) }, fail:function(res){} }) },
相关文章推荐
- 微信小程序用户授权,以及判断登录是否过期
- web 开发,个人中心每个请求,判断用户是否登录,若没有登录,则跳转到登录页面,登录成功后返回之前页面
- 微信小程序登录(uni-app)
- 使用微信授权登录的APP,如何通过App Store审核?
- app分享时判断手机是否已安装微信或QQ客户端
- 判断ftp是否登录成功
- 判断是否安装APP(如新浪,微信,QQ)
- 微信第三方授权登录之Android app应用
- uniapp做微信登录
- ionic ionic2进入App前判断是否登录,进入页面之前作判断,实现未登录跳转
- 判断数据库是否登录成功
- Nodejs 如何解决每次向后台发起请求时判断用户是否处于登录状态?
- uni-app之APP和小程序微信授权方法
- 熙熙-WebBrowser判断登录成功-WebBrowser-404错误-500错误-屏蔽消息窗口-Webbrowser判断是否加载成功
- vue3.0 请求拦截对Token处理,导航守卫判断是否登录,响应拦截,觖析token存储到vuex中
- 判断微信是否登录
- 熙熙-WebBrowser判断登录成功-WebBrowser-404错误-500错误-屏蔽消息窗口-Webbrowser判断是否加载成功
- session失效,使用ajax请求数据被拦截,此时正常的处理逻辑是跳到登录界面,而不是界面没有变化(java判断是否是ajax请求)
- 判断请求是否来自微信端