ASEMiniProgram/app.js

69 lines
1.8 KiB
JavaScript

// app.js
import request from './utils/request.js'
App({
onLaunch() {
// 展示本地存储能力
const logs = wx.getStorageSync('logs') || []
logs.unshift(Date.now())
wx.setStorageSync('logs', logs)
wx.login({
success: res => {
// 发送 res.code 到后台换取 openId, sessionKey, unionId
request({
url: '/wx/user/' + this.globalData.appID + '/login',
method: 'get',
data: {
code: res.code
}
}).then(res => {
console.log(res)
this.globalData.login = true
// 设置登录时间
this.globalData.loginTime = Date.now()
// 设置登录信息
const userInfo = this.globalData.userInfo
userInfo.openid = res.openid
userInfo.postmark = res.postmark
userInfo.token = res.token
}).then(res => {
}).catch(err => {
console.log(err)
})
}
})
// 获取用户信息
wx.getSetting({
success: res => {
if (res.authSetting['scope.userInfo']) {
// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
wx.getUserInfo({
success: res => {
// 可以将 res 发送给后台解码出 unionId
this.globalData.userInfo = res.userInfo
// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
// 所以此处加入 callback 以防止这种情况
if (this.userInfoReadyCallback) {
this.userInfoReadyCallback(res)
}
}
})
}
}
})
},
globalData: {
userInfo: {},
loginTime: null,
login: false,
appID: 'wxb915ee2a665fcb6c',
baseURL: 'http://localhost:8088'
}
})