共计 1646 个字符,预计需要花费 5 分钟才能阅读完成。
我的项目技术栈
微信原生小程序 + 云开发。为什么抉择微信原生小程序进行开发呢?因为可能间接利用它的云开发能力吖。
我这里次要应用了云开发能力中的小程序端 SDK,说白了就是在 javascript 中就能间接操作数据库。
本篇前言
基于云开发的答题流动小程序 v2.0 的源码地址,以及手把手教你搭建答题流动小程序 v1.0 系列文章目录,均在【基于云开发的答题流动小程序 v2.0,终于赶在 11 月最初一天实现了】这篇文章的底部。
想必大家有个疑难,在上一篇,【基于云开发的答题流动小程序 v2.0- 首页设计与实现】这篇文章中,为什么我没有把首页的 index.js 文件的代码贴出来。
绝对于长篇累牍的文章,我更偏向于精简的短文。而这里次要是为了独自拎进去,简略地聊聊,为什么要实现微信受权登录?如何去实现这个性能?
微信受权登录
为什么要
如果大家看了我后面的文章或者拿到源码运行起来,预计应该看到,有这么一个场景。举个栗子,在排行榜页的时候,其中就须要显示参加答题者的微信头像和昵称。
如何实现
通过下面简略的需要剖析,而后这里看看技术可行性吧。通过查阅技术文档,能够晓得,官网提供了一个开发接口用以获取用户信息,wx.getUserProfile(Object object)。
它是这样讲的:“页面产生点击事件(例如 button 上 bindtap 的回调中)后才可调用,每次申请都会弹出受权窗口,用户批准后返回 userInfo”。
我是这样写的代码:
.wxml
<view bindtap="login">
<button class='cu-btn bg-red round block lg margin-top'> 获取头像昵称 </button>
</view>
当然你也能够这样写,多入手实际实际与多尝试不同的形式。毕竟正确答案不止一个。
<view>
<button class='cu-btn bg-red round block lg margin-top' bindtap="login"> 获取头像昵称 </button>
</view>
.js
// 微信受权登录
login() {
wx.getUserProfile({
desc: '用于欠缺会员资料',
success: (res) => {
this.setData({userInfo: res.userInfo})
}
})
}
运行成果
残缺代码
首页 index.js 文件残缺代码,如下所示:
const app = getApp()
Page({
data: {userInfo: {},
hasUserInfo: false
},
onLoad() {},
// 跳转答题页
goToTest() {
wx.navigateTo({url: '../test/test'})
},
// 跳转流动规定页
goToDetails() {
wx.navigateTo({url: '../details/details'})
},
// 跳转答题记录页
goToHistory() {
wx.navigateTo({url: '../history/history'})
},
// 跳转排行榜页
goToRank() {
wx.navigateTo({url: '../rank/rank'})
},
// 微信受权登录
login() {
wx.getUserProfile({
desc: '用于欠缺会员资料',
success: (res) => {
this.setData({
userInfo: res.userInfo,
hasUserInfo: true
})
app.globalData.userInfo = res.userInfo
app.globalData.hasUserInfo = true
}
})
},
// 转发分享
onShareAppMessage(res) {
return {title: '@你,快来参加消防安全常识答题流动吧~'}
},
})
本篇小结
在微信小程序开发中,实现微信受权登录性能,获取微信头像和昵称的利用场景还是比拟常见的。而我这里次要是用于答题流动中的问题排行榜数据统计与展现,对于经营公众号或者小程序来说还是比拟重要的一环。