App.vue 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <script>
  2. import USER from '@/api/user.js'
  3. export default {
  4. onLaunch: function() {
  5. this.handleWxLogin()
  6. },
  7. onShow: function() {
  8. console.log('App Show')
  9. },
  10. onHide: function() {
  11. console.log('App Hide')
  12. },
  13. methods: {
  14. async handleWxLogin() {
  15. // #ifdef MP-WEIXIN
  16. try {
  17. // 1. 获取code
  18. const loginRes = await new Promise((resolve, reject) => {
  19. uni.login({
  20. success:async({code}) =>{
  21. // 2、登录获取用户信息
  22. const {data} = USER.fetchLogin({code})
  23. uni.setStorageSync('userInfo', data);
  24. resolve(data)
  25. },
  26. fail: reject
  27. });
  28. });
  29. } catch (err) {
  30. console.error('登录失败:', err);
  31. reject(err)
  32. }
  33. // #endif
  34. // #ifdef H5
  35. const {data} = await USER.userInfo()
  36. uni.setStorageSync('userInfo', data);
  37. // #endif
  38. }
  39. }
  40. }
  41. </script>
  42. <style lang="scss">
  43. /*每个页面公共css */
  44. @import "@/uni_modules/uview-plus/index.scss";
  45. @import "@/static/style/common.scss"
  46. </style>