1.首先wxml布局文件这么写。 open-type是固定的。 bindgetPhonenumber后面跟的是自定的方法名
open-type=
"getPhoneNumber"
bindgetphonenumber=
"getPhoneNumber"
<view class="btn-submit">
<button class="btn-block btn-green" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">微信用户快速登录</button>
</view>
2. js文件。写法 需要把获取的js_code, iv, encryptedData传给服务器,开发者需要在开发者服务器后台调用 api,使用 code 换取 openid 和 session_key 等信息
getPhoneNumber: function (e) {
var that = this
// console.log("errMsg:" + e.detail.errMsg)
console.log("iv:" + e.detail.iv)
console.log("未转 encryptedData:" + e.detail.encryptedData)
// console.log("encryptedData:" + encodeURIComponent(e.detail.encryptedData))
console.log("js_code:" + encodeURIComponent(app.data.js_code))
wx.request({
url: url1,
data: {
act: "binding_little_program",
code: encodeURIComponent(app.data.js_code),
encryptedData: encodeURIComponent(e.detail.encryptedData),
iv: encodeURIComponent(e.detail.iv),
},
method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
header: {
'content-type': 'application/json'
},
success: function (res) {
// success
console.log(res)
console.log("result_msg:"+res.data.result_msg)
if (res.data.result_code == 0) {
util.showAlert(res.data.result_msg)
} else {
console.log(res.data.uid)
util.showAlert1(res.data.result_msg, 'success')
app.globalData.uid = res.data.uid
app.globalData.card_id = res.data.card_id
app.globalData.fullname = res.data.fullname
app.globalData.photo_img = res.data.photo_img
app.globalData.usertel = res.data.telephone
app.globalData.sex = res.data.sex
console.log('aaphoto = ' + app.globalData.usertel)
wx.setStorage({
key: "uid",
data: res.data.uid,
success: function (res) { console.log(res) },
fail: function (res) { console.log(res) },
complete: function (res) { console.log(res) },
})
wx.setStorage({
key: "usertel",
data: res.data.telephone,
success: function (res) { console.log(res) },
fail: function (res) { console.log(res) },
complete: function (res) { console.log(res) },
})
wx.setStorage({
key: "card_id",
data: res.data.card_id,
success: function (res) { console.log(res) },
fail: function (res) { console.log(res) },
complete: function (res) { console.log(res) },
})
wx.setStorage({
key: "fullname",
data: res.data.fullname,
success: function (res) { console.log(res) },
fail: function (res) { console.log(res) },
complete: function (res) { console.log(res) },
})
wx.setStorage({
key: "photo_img",
data: res.data.photo_img,
success: function (res) { console.log(res) },
fail: function (res) { console.log(res) },
complete: function (res) { console.log(res) },
})
wx.setStorage({
key: "sex",
data: res.data.sex,
success: function (res) { console.log(res) },
fail: function (res) { console.log(res) },
complete: function (res) { console.log(res) },
})
var pages = getCurrentPages();
console.log("length" + pages.length);
//更新ui
that.setData({
uid: res.data.uid
})
if (that.data.uid > 0)
{ that.getUserInfo(); }
}
},
fail: function () {
// fail
util.showAlert('操作失败')
},
complete: function () {
// complete
}
})
},