clearLogin.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /**
  2. * 清除所有登录状态的工具方法
  3. * 用于调试和解决登录状态混乱的问题
  4. */
  5. var Parse = getApp().Parse;
  6. /**
  7. * 强制清除所有登录状态
  8. */
  9. async function clearAllLoginState() {
  10. console.log('===========================================');
  11. console.log('======= 强制清除所有登录状态 =======');
  12. console.log('===========================================');
  13. try {
  14. // 1. 获取当前用户信息(用于日志)
  15. const currentUser = Parse.User.current();
  16. if (currentUser) {
  17. console.log('当前用户 ID:', currentUser.id);
  18. console.log('当前手机号:', currentUser.get('mobile'));
  19. }
  20. // 2. 登出 Parse 用户
  21. if (currentUser) {
  22. await Parse.User.logOut();
  23. console.log('✅ 已登出 Parse 用户');
  24. }
  25. // 3. 清除所有本地存储
  26. wx.removeStorageSync('userLogin');
  27. wx.removeStorageSync('sessionToken');
  28. wx.removeStorageSync('isGuestMode');
  29. wx.removeStorageSync('userInfo');
  30. console.log('✅ 已清除本地存储');
  31. // 4. 验证清除结果
  32. const afterUser = Parse.User.current();
  33. console.log('清除后的用户:', afterUser ? '还有用户!' : '无');
  34. console.log('清除后的 userLogin:', wx.getStorageSync('userLogin') || '无');
  35. console.log('===========================================');
  36. console.log('✅ 登录状态已完全清除');
  37. console.log('===========================================');
  38. return true;
  39. } catch (error) {
  40. console.error('❌ 清除登录状态失败:', error);
  41. return false;
  42. }
  43. }
  44. module.exports = {
  45. clearAllLoginState
  46. };