uniapp 微信登录报错 login:fail provider not find 如何解决?

我在使用uniapp开发微信小程序时,调用微信登录接口报错"login:fail provider not find"。已经按照官方文档配置了appid和secret,也检查了manifest.json中的微信登录配置项,但问题依旧存在。请问这是什么原因导致的?该如何解决?

2 回复

检查uni-app配置,确保已勾选微信登录模块。在manifest.json中配置微信AppID,并确认微信开放平台应用审核通过。


在 UniApp 中遇到 login:fail provider not find 错误,通常是因为 微信登录配置不正确运行环境问题。以下是完整的解决方案:


1. 检查 manifest.json 配置

  • 打开 manifest.jsonApp 模块配置 → 勾选 OAuth(登录授权)
  • 进入 微信登录配置
    • 填写正确的 微信开放平台 AppID(不是小程序 AppID)。
    • 确保 iOS 和 Android 的 Bundle ID / 包名与微信开放平台注册应用时填写的一致。

2. 检查代码调用方式

// 正确的微信登录代码示例
uni.login({
  provider: 'weixin', // 必须为 'weixin'
  success: (res) => {
    console.log('登录成功', res);
  },
  fail: (err) => {
    console.error('登录失败', err);
  }
});
  • 确保 provider 参数值为 'weixin'(全小写)。
  • 此 API 仅支持 App 端,H5 或小程序需使用其他登录方式。

3. 检查应用签名与包名

  • Android
    • 在微信开放平台配置正确的 应用签名(使用签名工具获取)和 包名
  • iOS
    • 确保 Bundle ID 与微信开放平台及苹果开发者后台完全一致。

4. 环境与调试建议

  • 真机测试:必须在真机上测试,部分模拟器不支持微信登录。
  • 基座调试:使用自定义调试基座(HBuilderX → 运行 → 制作自定义调试基座)。
  • 检查网络:确保设备网络正常,可访问微信服务器。

5. 常见排查步骤

  1. 重新检查微信开放平台应用配置信息。
  2. 清理应用数据并重启手机。
  3. 更新 HBuilderX 到最新版本。
  4. 确认微信客户端已安装且版本支持。

按以上步骤操作后,通常可解决此问题。如果问题依旧,请检查微信开放平台审核状态(需通过审核)。

回到顶部