Authored by QC-L

修复登录 401 session_key 过期的问题

Showing 1 changed file with 82 additions and 14 deletions
... ... @@ -139,6 +139,9 @@ class App extends Component {
Taro.setStorage({key: 'session_key', data: ''});
Taro.setStorage({key: 'userInfo', data: ''});
Taro.setStorage({key: 'unionID', data: ''});
Taro.setStorage({ key: 'WXThird_session', data: '' });
Taro.setStorage({ key: 'unionid', data: '' });
Taro.setStorage({ key: 'user_union_type', data: '' });
}
console.log(result);
}).catch(error => {
... ... @@ -169,21 +172,86 @@ class App extends Component {
event.on('user-is-login', (loginedCallBack, loginSuccess) => {
let userInfo = Taro.getStorageSync('userInfo');
if (userInfo && userInfo.uid && userInfo.session_key) {
if (loginedCallBack) {
loginedCallBack();
}
} else {
event.on('my-user-login-success', () => {
event.off('my-user-login-success');
if (loginSuccess) {
loginSuccess();
if (userInfo && userInfo.uid) {
checkUidAndSessionKey(userInfo.uid, userInfo.session_key).then(result => {
if (result.statusCode === 200) {
console.log('session_key 未过期');
if (userInfo && userInfo.uid && userInfo.session_key) {
if (loginedCallBack) {
loginedCallBack();
}
} else {
event.on('my-user-login-success', () => {
event.off('my-user-login-success');
if (loginSuccess) {
loginSuccess();
}
})
Taro.navigateTo({
url: '/pages/nativeLogin/nativeLogin'
});
}
} else if (result.statusCode === 401) {
console.log('session_key 已过期,请重新获取');
Taro.setStorageSync('session_key', '');
Taro.setStorageSync('userInfo', '');
Taro.setStorageSync('unionID', '');
Taro.setStorageSync('WXThird_session', '');
Taro.setStorageSync('unionid', '');
Taro.setStorageSync('user_union_type', '');
let userInfo = Taro.getStorageSync('userInfo');
if (userInfo && userInfo.uid && userInfo.session_key) {
if (loginedCallBack) {
loginedCallBack();
}
} else {
event.on('my-user-login-success', () => {
event.off('my-user-login-success');
if (loginSuccess) {
loginSuccess();
}
})
Taro.navigateTo({
url: '/pages/nativeLogin/nativeLogin'
});
}
}
})
Taro.navigateTo({
url: '/pages/nativeLogin/nativeLogin'
});
}
console.log(result);
}).catch(error => {
let userInfo = Taro.getStorageSync('userInfo');
if (userInfo && userInfo.uid && userInfo.session_key) {
if (loginedCallBack) {
loginedCallBack();
}
} else {
event.on('my-user-login-success', () => {
event.off('my-user-login-success');
if (loginSuccess) {
loginSuccess();
}
})
Taro.navigateTo({
url: '/pages/nativeLogin/nativeLogin'
});
}
});
} else {
if (userInfo && userInfo.uid && userInfo.session_key) {
if (loginedCallBack) {
loginedCallBack();
}
} else {
event.on('my-user-login-success', () => {
event.off('my-user-login-success');
if (loginSuccess) {
loginSuccess();
}
})
Taro.navigateTo({
url: '/pages/nativeLogin/nativeLogin'
});
}
}
});
event.on('judge-user-is-login', (isLogined, isLoginCallback) => {
... ...