42 lines
1.7 KiB
JavaScript
42 lines
1.7 KiB
JavaScript
import request from './utils/request';
|
|
|
|
App({
|
|
onLaunch() {
|
|
// Login
|
|
wx.login({
|
|
success: res => {
|
|
// Send res.code to backend to swap for openId, sessionKey, unionId
|
|
if (res.code) {
|
|
request.get('/auth/miniLogin', { code: res.code }).then(data => {
|
|
// Response structure based on user input: { user: {...}, token: "...", expiresAt: ... }
|
|
// Note: request.js might return data.user directly if it unwraps 'data'
|
|
// But looking at previous request.js usage, it seems to return the 'data' field of the response.
|
|
// Let's handle both cases safely.
|
|
|
|
const token = data.token;
|
|
const user = data.user;
|
|
|
|
if (token && typeof token === 'string') {
|
|
wx.setStorageSync('token', token);
|
|
if (user) {
|
|
wx.setStorageSync('userInfo', user);
|
|
this.globalData.userInfo = user;
|
|
}
|
|
console.log('Login successful, user info stored');
|
|
} else {
|
|
console.warn('Login response did not contain a valid token', data);
|
|
}
|
|
}).catch(err => {
|
|
console.error('Login failed', err);
|
|
});
|
|
} else {
|
|
console.error('wx.login failed: ' + res.errMsg);
|
|
}
|
|
}
|
|
});
|
|
},
|
|
globalData: {
|
|
userInfo: null
|
|
}
|
|
})
|