1.在app.json文件中加代码:
"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于用户XXXXX"
}
},
2.在需要获取位置的界面加代码:
wx.getLocation({
type:"wsg84",
success(res){
//用户确定授权给小程序位置信息
//获取纬度
var latitude = res.latitude;
//获取经度
var longitude = res. longitude;
//获取精确度,当然这个是在根据坐标对应文字位置的时候使用的
var accuracy = res.accuracy;
},fail(res){
//用户未授权给小程序位置信息
}
});
大致流程是:
获取用户的temCode(临时码),将临时码和手机号授权的回调函数返回值带给自己的后台,后台收到temCode+iv+encryptedData这几个数据之后根据解密算法解密数据便可得到相应的手机号,解密算法微信小程序官方文档
1.在获取界面的wxml文件中加上:
2.在获取界面的js文件中加上:
//获取手机号的回调函数
getPhoneNumber(e) {
var that = this;
if(e.detail.iv!=undefined){
wx.login({
success(res) {
//临时code
var tempCode = res.code;
wx.request({
url:'接口路径',
data: {
code: tempCode,
iv: e.detail.iv,
encryptedData: e.detail.encryptedData
},
header: {
'content-type': 'application/json' // 默认值
},
method: 'POST',
success: function (reses) {
//这里从返回值中取得解密之后的手机号
},fail:function(){
wx.showToast({
title: '网络异常',
icon: 'none',
duration: 2000,
mask: true
})
}
})
}
})
}else{
wx.showToast({
title: '授权手机号才可使用小程序!',
icon: 'none',
duration: 2000,
mask: true
})
}
},
这里要说明的是,获取用户信息使用的getUserInfo方法和getPhoneNum接口都是在回调函数中取值的