//index.js
//获取应用实例
const app = getApp()
Page({
data: {
motto: 'Hello World',
userInfo: {},
hasUserInfo: false,
canIUse: wx.canIUse('button.open-type.getUserInfo')
},
//事件处理函数
bindViewTap: function() {
wx.navigateTo({
url: '../logs/logs'
})
},
onLoad: function () {
//kevin 测试从接口获取数据后,存入到全局变量
var _this = this;
wx.request({
url: "https://kevin.kevinkevin.com/test",
header: {
},
data: {
},
success: function (res) {
console.log(res);
if(res.statusCode == 200){
console.log(res.data);
app.globalData.kevin=res.data;
}
_this.setData({
motto: app.globalData.kevin
});
}
})
//测试授权
wx.login({
success: function (res) {
var code = res.code;
wx.getUserInfo({
success: function (res) {
console.log(res.userInfo);
var iv = res.iv;
var encryptedData = res.encryptedData;
var signature = res.signature;
var rawData = res.rawData;
wx.request({
url: "https://kevin.kevinkevin.com/login_status",//上传用户信息和登录用的code,获取token
data: {
code: code,
signature: signature,
rawData: rawData,
encryptedData: encryptedData,
iv: iv
},
success: function (res) {
if (res.statusCode && res.statusCode == "200"){
//从后台获取的token,前端自己保存到全局变量中,备用;以后每次使用request都把该变量存入header变量
console.log("token : " + res.data);
app.globalData.token = res.data;
}
}
})
},
fail: function () {
_this.authSetting();
}
})
}
})
if (app.globalData.userInfo) {
this.setData({
userInfo: app.globalData.userInfo,
hasUserInfo: true
})
} else if (this.data.canIUse){
// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
// 所以此处加入 callback 以防止这种情况
app.userInfoReadyCallback = res => {
this.setData({
userInfo: res.userInfo,
hasUserInfo: true
})
}
} else {
// 在没有 open-type=getUserInfo 版本的兼容处理
wx.getUserInfo({
success: res => {
app.globalData.userInfo = res.userInfo
this.setData({
userInfo: res.userInfo,
hasUserInfo: true
})
}
})
}
},
getUserInfo: function(e) {
console.log(e)
app.globalData.userInfo = e.detail.userInfo
this.setData({
userInfo: e.detail.userInfo,
hasUserInfo: true
})
var _this = this;
wx.request({
url: "https://kevin.kevinkevin.com/api/check",
header: {
"token" : app.globalData.token
},
data: {
},
success: function (res) {
console.log(res);
}
})
}
})