App.vue 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <script>
  2. import { userApi } from '@/api/user.js'
  3. export default {
  4. onLaunch: function() {
  5. // 获取并保存设备信息
  6. if (!uni.getStorageSync("deviceInfo")) {
  7. const deviceInfo = uni.getDeviceInfo()
  8. uni.setStorageSync("deviceInfo", deviceInfo)
  9. console.log("初始化设备信息", deviceInfo)
  10. }
  11. },
  12. onShow: async function() {
  13. // 检查是否有token,有则自动登录
  14. const userInfo = uni.getStorageSync("userInfo")
  15. if (userInfo?.yhsbToken) {
  16. try {
  17. console.log("自动登录", userInfo.yhsbToken)
  18. const res = await userApi.autoLogin({
  19. mdToken: userInfo.yhsbToken
  20. })
  21. console.log("自动登录", res.data)
  22. // 更新整个 userInfo 对象,主要更新yhsbToken
  23. uni.setStorageSync("userInfo", res.data)
  24. } catch (error) {
  25. console.error("自动登录失败", error)
  26. // 可以在这里处理登录失败的情况,比如清除token
  27. // uni.removeStorageSync("userInfo")
  28. }
  29. } else {
  30. console.log("无token,跳过自动登录")
  31. }
  32. },
  33. onHide: function() {
  34. console.log('App Hide')
  35. }
  36. }
  37. </script>
  38. <style lang="scss">
  39. @import "uview-plus/index.scss";
  40. </style>