uni-app Android 微信登录,授权成功回调之后错误

uni-app Android 微信登录,授权成功回调之后错误

uniapp 开发过程中遇到微信登录提示 “errCode”:-100,“code”:-100,“innerCode”:-3

3 回复

打开微信直接收到两次回调,授权页面没有进行任何操作
[LOG]err: {“errMsg”:“login:fail Unable to send”,“errCode”:-100,“code”:-100,“innerCode”:-3} at usercenter/pages/login.vue:334 [LOG]err: {“errMsg”:“login:fail Unable to send”,“errCode”:-100,“code”:-100,“innerCode”:-3} at usercenter/pages/login.vue:338

更多关于uni-app Android 微信登录,授权成功回调之后错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html


解决了吗

在处理uni-app中的Android微信登录授权问题时,通常我们需要借助微信开放平台的SDK来实现登录流程。在授权成功后,如果遇到了回调错误,可能是多种原因导致的,比如配置问题、代码实现问题或者权限问题等。下面我将提供一个简化的代码案例,用于展示如何在uni-app中实现微信登录并处理授权成功的回调,同时给出一些可能引发错误的检查点。

代码案例

首先,确保你的项目已经集成了微信SDK,并且在manifest.json中配置了微信的相关信息,包括AppId等。

// manifest.json
{
  "mp-weixin": { // 微信小程序配置
    "appid": "YOUR_APPID"
  },
  "app-plus": {
    "distribute": {
      "weixin": {
        "appId": "YOUR_APPID",
        "appSecret": "YOUR_APPSECRET"
      }
    }
  }
}

接下来,在你的uni-app项目中,可以使用以下代码来实现微信登录:

// pages/login/login.vue
<template>
  <view>
    <button open-type="getPhoneNumber" @getphonenumber="onGetPhoneNumber">微信登录</button>
  </view>
</template>

<script>
export default {
  methods: {
    onGetPhoneNumber(e) {
      if (e.detail.errMsg === "getPhoneNumber:ok") {
        const encryptedData = e.detail.encryptedData;
        const iv = e.detail.iv;

        // 发送encryptedData和iv到服务器,服务器通过appid、appsecret和session_key解密
        uni.request({
          url: 'https://yourserver.com/login',
          method: 'POST',
          data: {
            encryptedData,
            iv
          },
          success: (res) => {
            if (res.data.success) {
              // 登录成功,保存用户信息
              uni.setStorageSync('userInfo', res.data.userInfo);
            } else {
              // 处理登录失败
              console.error('登录失败', res.data.error);
            }
          },
          fail: (err) => {
            console.error('请求失败', err);
          }
        });
      } else {
        console.error('用户拒绝授权', e.detail.errMsg);
      }
    }
  }
}
</script>

错误检查点

  1. AppId和AppSecret是否正确:确保在manifest.json中配置的AppId和AppSecret与微信开放平台的一致。
  2. 签名校验:Android端需要进行签名校验,确保你的APK签名证书与微信开放平台配置的一致。
  3. 服务器解密:服务器使用appid、appsecret和session_key解密得到的openId等信息是否正确。
  4. 网络请求:检查uni.request的网络请求是否成功发出,以及服务器端的响应是否正确处理。

通过上述代码和检查点,你应该能够定位并解决uni-app中Android微信登录授权成功后的回调错误问题。

回到顶部