uniapp的uni.login方法在安卓端调用不起微信显示-100是什么原因

在使用uniapp的uni.login方法进行微信登录时,安卓端调用失败,微信返回错误码-100,请问这是什么原因导致的?该如何解决?

2 回复

uni.login在安卓端调用微信返回-100,通常是因为签名问题。请检查以下两点:

  1. 应用签名与微信开放平台填写的是否一致
  2. 打包时使用的签名是否与调试时不同

建议在微信开放平台重新生成签名,并使用正式签名打包测试。


uni.login 在安卓端调用微信登录返回 -100 错误,通常与微信开放平台配置或应用签名有关。以下是排查步骤:

  1. 检查应用签名

    • 确保微信开放平台填写的应用签名与安卓打包后的签名一致。
    • 使用微信官方签名生成工具获取当前APK的签名(MD5值,去掉冒号并转为小写)。
    • 对比开放平台配置的签名,不一致则修正。
  2. 确认AppID有效性

    • 检查微信开放平台应用的AppID是否正确填写在UniApp项目的 manifest.json 中。
  3. 检查包名

    • 确保微信开放平台注册的包名与UniApp项目的 manifest.json 中安卓包名完全一致。
  4. 测试环境

    • 微信登录需真机测试,且必须使用正式签名(非调试签名)。调试时建议打包正式APK安装测试。
  5. 网络与权限

    • 确保手机网络正常,并授予应用网络权限。

示例代码(uni.login调用):

uni.login({
  provider: 'weixin',
  success: (res) => {
    console.log('登录成功:', res);
  },
  fail: (err) => {
    console.error('登录失败:', err); // 错误码-100通常在此捕获
  }
});

解决步骤优先级:

  1. 优先核对签名+包名(90%以上问题根源)。
  2. 更新微信开放平台配置后,需等待约10分钟生效。
  3. 若问题持续,检查微信客户端版本是否过旧。

通过以上步骤基本可解决-100错误。

回到顶部