84 lines
2.2 KiB
JavaScript
84 lines
2.2 KiB
JavaScript
var app = getApp();
|
|
|
|
Component({
|
|
properties: {
|
|
visible: {
|
|
type: Boolean,
|
|
value: false
|
|
}
|
|
},
|
|
methods: {
|
|
close: function() {
|
|
this.triggerEvent("cancel");
|
|
},
|
|
getPhoneNumber: function(res) {
|
|
var that = this;
|
|
wx.checkSession({
|
|
success: function() {
|
|
console.log("session:", 1), that.getMobile(res);
|
|
},
|
|
fail: function() {
|
|
console.log("session:", 2), wx.removeStorageSync("token");
|
|
that.triggerEvent("cancel");
|
|
that.triggerEvent("needAuth");
|
|
}
|
|
});
|
|
},
|
|
getMobile: function(e) {
|
|
var that = this;
|
|
if ("getPhoneNumber:ok" === e.detail.errMsg) {
|
|
var token = wx.getStorageSync('token');
|
|
this.setData({
|
|
loading: true
|
|
});
|
|
wx.checkSession({
|
|
success() {
|
|
console.log("session_key有效");
|
|
app.util.request({
|
|
'url': 'entry/wxapp/user',
|
|
'data': {
|
|
controller: 'user.getPhoneNumber',
|
|
token: token,
|
|
encryptedData: e.detail.encryptedData,
|
|
iv: e.detail.iv
|
|
},
|
|
method: 'post',
|
|
dataType: 'json',
|
|
success: function (res) {
|
|
if (res.data.code == 0) {
|
|
let phoneNumber = res.data.phoneNumber;
|
|
wx.setStorage({
|
|
key: "mobile",
|
|
data: phoneNumber
|
|
});
|
|
that.triggerEvent("confirm", phoneNumber);
|
|
} else {
|
|
that.setData({
|
|
visible: false
|
|
});
|
|
wx.showToast({
|
|
title: "授权失败",
|
|
icon: "none"
|
|
});
|
|
}
|
|
}
|
|
})
|
|
},
|
|
fail() {
|
|
console.log("session_key 已经失效");
|
|
wx.removeStorageSync("token");
|
|
that.triggerEvent("needAuth");
|
|
}
|
|
})
|
|
} else {
|
|
that.setData({
|
|
visible: false
|
|
});
|
|
wx.showToast({
|
|
title: "授权失败",
|
|
icon: "none"
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}); |