在QQ小程序中,通过获取用户的OpenID,你可以实现加好友等功能。本文将演示如何获取用户的OpenID并授权加好友权限。首先,确保你已经配置好了小程序的基本信息和权限设置。
首先,我们需要在小程序页面上创建一个“加好友”按钮,如下所示:
<button open-type="addFriend" open-id="2D4410F33C0EB45A6F06B5EDD6F4DF19" bindaddfriend="addfriend">
<text>添加好友</text>
</button>
这个按钮会触发加好友操作,但在进行之前,我们需要获取用户的OpenID。
在小程序中,你可以使用QQ登录获取用户的OpenID。以下是如何获取OpenID的代码:
// 在页面的js文件中
Page({
data: {
openID: '', // 用于存储用户的OpenID
},
onLoad: function () {
this.getOpenID();
},
getOpenID: function () {
var that = this;
// 使用QQ登录获取用户的OpenID
qq.login({
success(res) {
if (res.code) {
qq.request({
url: "https://api.q.qq.com/sns/jscode2session?appid=你的appID&secret=你的secret&js_code=" + res.code + "&grant_type=authorization_code",
success: function (res) {
console.log(res.data);
that.setData({
openID: res.data.openid
});
},
});
} else {
console.log('登录失败!' + res.errMsg);
}
}
});
},
// 其他页面逻辑和函数
});
这段代码首先使用qq.login进行QQ登录,获取到用户的code后,通过qq.request向QQ服务器发起请求以获取用户的OpenID。获取到OpenID后,将其存储在openID中供后续使用。
获取完成后可以在控制台看打印的openID
也可以在AppData里面查看,下面是获取成功的样子
在“加好友”按钮被点击时,我们需要检查用户是否已授权加好友权限。如果没有授权,我们将请求用户授权。以下是如何授权加好友权限的代码:
// 在页面的js文件中
Page({
data: {
openID: '', // 用于存储用户的OpenID
},
onLoad: function () {
this.addFriend();
this.getOpenID();
},
getOpenID: function () {
// 获取OpenID的代码,同前面示例
},
addFriend: function () {
var that = this;
// 检查是否已授权加好友权限
qq.getSetting({
success(res) {
if (!res.authSetting['setting.addFriend']) {
// 如果未授权,请求用户授权
qq.authorize({
scope: 'setting.addFriend',
success() {
console.log('成功授权加好友权限');
},
fail() {
console.log('授权加好友权限失败');
}
});
}
}
});
},
// 其他页面逻辑和函数
});
在addFriend函数中,我们首先使用qq.getSetting检查用户是否已授权加好友权限。如果用户未授权,我们使用qq.authorize请求用户授权。
这样,当用户点击“添加好友”按钮时,如果未授权,系统将提示用户授权,允许你执行加好友操作。
通过上述步骤,你可以在小程序中获取用户的OpenID并授权加好友权限,从而实现加好友功能。确保替换示例代码中的appid和secret为你自己小程序的AppID和Secret。