微信小程序登录
2021/7/2 20:51:23
本文主要是介绍微信小程序登录,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
ttml部分,实现登录授权按钮 在组件中使用了if。。。else 。。。语句 (1)bindtap="bindgetuserinfo 绑定一个bindgetuserinfo 事件 (2)bindgetuserinfo="bindgetuserinfo" 绑定一个bindgetuserinfo 事件. 。bindgetuserinfo属性是微信getUserInfo()特有的事件绑定属性 注意:抖音不支持此种此 bindgetuserinfo="bindgetuserinfo" 改 为bindtap="bindgetuserinfo" <view class="iw100 mt20"> <van-button type="danger" disabled="{{disAbled}}" color="linear-gradient(180deg, #99D0CD 0%, #60A39E 100%);" round size="large"lang="zh_CN" wx:if="{{canIUseGetUserProfile}}" bindtap="bindgetuserinfo"> {{$.languageMap.sqdl}} </van-button> <van-button type="danger" disabled="{{disAbled}}" color="linear-gradient(180deg, #99D0CD 0%, #60A39E 100%);" round size="large"lang="zh_CN" wx:else open-type="getUserInfo" bindgetuserinfo="bindgetuserinfo"> {{$.languageMap.sqdl}} </van-button> <view> js部分: 事件: bindgetuserinfo(e) { let that = this if (that.data.canIUseGetUserProfile) { wx.getUserProfile({ desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 success: (res) => { let teminfo = res.userInfo; that.setUserInfo(teminfo); } }) }else{ let teminfo = e.detail.userInfo that.setUserInfo(teminfo); //调用封装好的获取到后台传过来的数据的 setUserInfo()方法 } }, //获取用户授权信息, setUserInfo(teminfo) { let that = this; let mainData = { user_pics_url: teminfo.avatarUrl, //用户头像 user_nickname: teminfo.nickName, //用户昵称 user_sex: teminfo.gender === 0 ? '未知':(teminfo.gender === 1 ? '男' : '女'), user_age: teminfo.user_age //年龄 }; //拿到了用户数据之后,证明用户已经授权同意授权 //于是我们自动执行登录,调用内部的api tt.login({ success: res => { store.data.code = res.code; let data = { 'code': res.code, 'anonymous_code':res.anonymousCode};//登录的时候发起请求 web.webRequest() 里面封装了抖音请求tt.request() 和 微信wx.request() 方法 web.webRequest({ methods: 'POST', //请求的方式 interface: 'reg', //请求的接口 data: data //请求参数 这是已经封装好了的参数对象。(根据所需安排,非必须的) }).then(res => { //promise 的箭头函数(无this对象) tt.setStorageSync('sm_userinfo', res.result.data); that.store.data.token = res.result.data.api_token; //返回api_token that.store.data.serviceInfo = res.result.data; // 判断有没有头像和昵称,用来更新用户信息 // store.data.isFirst = res.result.data.is_first
that.store.data.sessionKey = res.result.data.session_key; that.store.data.phoneNum = res.result.data.user_mobile; //编辑用户的信息请求(这部分可以截至以上代码抽离出来作为修改信息使用), web.webRequest({ methods: 'POST', interface: 'edit', data: mainData }).then(res => { 返回更新后的用户数据 console.log(res, '更新用户信息成功'); that.store.data.userInfo = teminfo; that.store.data.loseaut = false; that.store.data.serviceInfo.user_pics = teminfo.avatarUrl; that.store.data.serviceInfo.user_nickname = teminfo.nickName; let temp = { userInfo: teminfo, user_pics: teminfo.avatarUrl, user_nickname: teminfo.nickName }; let temp1 = JSON.parse(JSON.stringify(tt.getStorageSync('sm_userinfo'))); let temp2 = Object.assign(temp, temp1); tt.setStorageSync('sm_userinfo', temp2); //存储用户信息 tt.navigateBack(); //返回上级菜单 }); }); } }); },
/ /授权成功,触发返回指定路径
onClickLeft() { tt.switchTab({ url: '/pages/index/index' }); }这篇关于微信小程序登录的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-04微信小程序如何实现点击图片查看大图功能-icode9专业技术文章分享
- 2024-09-28uniapp 小程序获取到数据库的换行符怎么展示-icode9专业技术文章分享
- 2024-09-20微信小程序全栈项目实战:从零开始的全面指南
- 2024-09-20微信小程序项目实战:零基础入门教程
- 2024-09-19微信小程序项目中miniprogram_npm文件跟node_modules文件的差别-icode9专业技术文章分享
- 2024-08-27小程序 单行显示,超出部分省略号显示的方法代码-icode9专业技术文章分享
- 2024-08-27微信小程序如何获取到特种设备的刘海屏高度-icode9专业技术文章分享
- 2024-08-27微信小程序如何获取苹果手机底部一横线高度信息方法代码-icode9专业技术文章分享
- 2024-08-27微信小程序 顶部状态栏标签背景为none但还是看不到状态栏什么原因-icode9专业技术文章分享
- 2024-08-21微信小程序全栈入门:从零开始的一站式指南