0
点赞
收藏
分享

微信扫一扫

微信小程序 用户权限部分


1、获取用户授权设置:wx.getSetting( )

属性

类型

必填

说明

success

function


接口调用成功回调函数

fail

function


接口调用失败的回调函数

complete

function


接口调用结束的回调函数(调用成功、失败都会执行)

success 回调函数

authSetting

类型

说明

authSetting

authSetting

用户授权结果

模块

代码

用户信息

scope.userInfo

地理位置

scope.userLocation

//向用户请求信息,若没有授权,则弹出框 让用户进行授权
wx.getSetting({
success(res) {
// 获取用户信息
console.log(res.authSetting['scope.userInfo']))
}
})

2、查看小程序是否有获取用户信息的权限

获取用户信息

wx.getUserInfo({
//箭头调用法
success: (data) => {
console.log(data);
console.log(data.rawData);
console.log(data.signature);
console.log(data.encryptedData);
console.log(data.iv);
console.log(data.errMsg);
console.log(data.cloudID);
// app.globalData.userInfo = data.userInfo //全局变量赋值
// app.globalData.haveauth = true

}
})

3、获取用户地理位置

wx.getSetting({
success(res) {
if (!res.authSetting['scope.userLocation']) {
wx.authorize({
scope: 'scope.userLocation',
success() {

//授权后的业务逻辑

}
})
}
}
})

app.json中添加如下字段

"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序位置接口的效果展示"
}
},

4、获取用户code

wx.login({
success: res => {
// 获取到用户的 code 之后:res.code
console.log("用户的code:" + res.code);
}
});

5、利用云函数获取用户openid

前端js文件

wx.cloud.callFunction({
name: 'login',
data: {},
success: res => {
// console.log('[云函数] [login] user openid: ', res.result.openid)
var openid = res.result.openid
console.log(openid)
},
})

云函数index.js

const cloud = require('wx-server-sdk')

// 初始化 cloud
cloud.init()

exports.main = (event, context) => {
console.log(event)
console.log(context)

// 获取 WX Context (微信调用上下文),包括 OPENID、APPID、及 UNIONID(需满足 UNIONID 获取条件)
const wxContext = cloud.getWXContext()
return {
event,
openid: wxContext.OPENID,
appid: wxContext.APPID,
unionid: wxContext.UNIONID,
}
}

6、获取用户信息

// 获取用户信息
wx.getSetting({
success: res => {
if (res.authSetting['scope.userInfo']) {
// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
wx.getUserInfo({
success: res => {
this.setData({
avatarUrl: res.userInfo.avatarUrl,
userInfo: res.userInfo
})
}
})
}
}
})

8、直接获取用户头像

<view>
<view class="logo">
<open-data type="userAvatarUrl" class="userinfo" id="userinfo"></open-data>
</view>
</view>


举报

相关推荐

0 条评论