uni-app 获取用户信息失败提示:"errMsg":"getUserInfo:fail 未登录或登录已注销","errCode":-1001,"code":-1001

uni-app 获取用户信息失败提示:“errMsg”:“getUserInfo:fail 未登录或登录已注销”,“errCode”:-1001,“code”:-1001

前提:离线打包 标准运行基座有问题,自定义基座没问题。

问题: 由于我要iOS提审,所以必须离线打包到标准运行基座运行得正常才行,在iOS微信登录时候,想获取用户头像和昵称时候, 在weixinAuthService.authorize获取到code之后,调用uni.getUserInfo时,却报错

{“errMsg”:“getUserInfo:fail 未登录或登录已注销”,“errCode”:-1001,“code”:-1001}


求问:
怎么让iOS微信登录获取头像昵称时候`uni.getUserInfo`不报错

更多关于uni-app 获取用户信息失败提示:"errMsg":"getUserInfo:fail 未登录或登录已注销","errCode":-1001,"code":-1001的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

请问这个问题解决了吗 我也遇到同样的问题,微信uni.login成功之后 再调用uni.getUserInfo报的fail getUserInfo:fail 未登录或登录已注销,code:-1001

更多关于uni-app 获取用户信息失败提示:"errMsg":"getUserInfo:fail 未登录或登录已注销","errCode":-1001,"code":-1001的实战教程也可以访问 https://www.itying.com/category-93-b0.html


请问这个问题解决了吗 我也遇到同样的问题,微信uni.login成功之后 再调用uni.getUserInfo报的fail getUserInfo:fail 未登录或登录已注销,code:-1001

现在还有这个问题,同问微信授权登录怎么获取用户昵称和头像 啊

针对你提到的uni-app中获取用户信息失败的问题,错误信息提示 "errMsg":"getUserInfo:fail 未登录或登录已注销","errCode":-1001,"code":-1001" 表明用户可能未登录或登录状态已失效。为了解决这个问题,你需要在应用中实现用户登录状态的校验,并在必要时引导用户重新登录。

以下是一个基本的示例,展示了如何在uni-app中处理用户登录状态,并在用户未登录或登录状态失效时提示用户重新登录。

1. 检查登录状态

首先,在你的应用中创建一个函数来检查用户的登录状态。这里假设你有一个全局状态管理工具(如Vuex)来存储用户的登录信息。

// store/index.js
const store = new Vuex.Store({
  state: {
    isLoggedIn: false,
    userInfo: null
  },
  mutations: {
    setLoginStatus(state, status) {
      state.isLoggedIn = status;
    },
    setUserInfo(state, info) {
      state.userInfo = info;
    }
  },
  actions: {
    checkLoginStatus({ commit }) {
      // 这里可以添加实际的登录状态检查逻辑,比如从服务器获取登录状态
      // 假设当前用户已登录
      commit('setLoginStatus', true); // 根据实际情况修改
    }
  }
});

export default store;

2. 获取用户信息前的登录状态检查

在尝试获取用户信息之前,先检查用户的登录状态。

// pages/somePage.vue
<template>
  <view>
    <button @click="getUserInfo">获取用户信息</button>
  </view>
</template>

<script>
export default {
  methods: {
    async getUserInfo() {
      const store = this.$store;
      if (!store.state.isLoggedIn) {
        // 显示登录提示或跳转到登录页面
        uni.showModal({
          title: '提示',
          content: '请先登录',
          success: function (res) {
            if (res.confirm) {
              uni.navigateTo({
                url: '/pages/login/login'
              });
            }
          }
        });
        return;
      }
      
      try {
        const userInfo = await uni.getUserInfo({
          provider: 'weixin' // 根据需要修改
        });
        console.log(userInfo);
      } catch (error) {
        console.error('获取用户信息失败:', error);
        if (error.errMsg === 'getUserInfo:fail 未登录或登录已注销') {
          // 尝试重新登录或显示错误信息
          uni.showModal({
            title: '错误',
            content: '登录状态失效,请重新登录',
            success: function (res) {
              if (res.confirm) {
                uni.navigateTo({
                  url: '/pages/login/login'
                });
              }
            }
          });
        }
      }
    }
  }
};
</script>

这个示例展示了如何在uni-app中检查用户的登录状态,并在尝试获取用户信息时处理可能的登录错误。根据你的具体需求,你可能需要调整登录状态的检查逻辑和错误处理流程。

回到顶部