4***@qq.com
4***@qq.com
  • 发布:2024-07-11 12:09
  • 更新:2024-10-03 08:13
  • 阅读:246

安卓真机测试微信授权登录报错

分类:uni-app

报错代码:"errcode":40029,"errmsg":"invalid code";前端: weixinOauth.authorize(function(event) { if (event) { const { code } = event; 这样子获取CODE的,我打印了后端和前端的code是一样的,而且每次授权都是新的code,但是一直报这个错误

2024-07-11 12:09 负责人:无 分享
已邀请:
DCloud_UNI_yuhe

DCloud_UNI_yuhe

没有weixinOauth,这是你自己封装的吗,具体使用了uniapp的哪个接口

  • 4***@qq.com (作者)

    plus.oauth.getServices(function(services) {

    var weixinOauth = null;

    for (var i = 0; i < services.length; i++) { // 使用for循环而不是for...in,因为services是一个数组

    var service = services[i];

    if (service.id === 'weixin') {

    weixinOauth = service;

    break;

    }

    }

    if (!weixinOauth) {

    uni.hideLoading();

    uni.showToast({

    title: '微信登录服务不可用',

    icon: 'none'

    });

    return;

    }


                   weixinOauth.authorize(function(event) {    

    if (event) {
    const { code } = event; 代码是这样子的

    2024-07-11 14:56

4***@qq.com

4***@qq.com (作者)

用的是uniapp给的示例代码

  • DCloud_UNI_yuhe

    40029是code无效,你检查一下配置的微信id,secret是否正确

    2024-07-11 15:40

  • 4***@qq.com (作者)

    回复 DCloud_UNI_yuhe: 微信开放平台设置的应用appid和secret都确认过没有错

    2024-07-11 15:51

t***@163.com

t***@163.com

这个微信授权和登录的问题好像一直没有解决,我使用wx.login()获取openid,在uni-app运行真机的时候出现40029的报错,但是把程序在微信小程序开发者工具上运行到真机上面就可以正常拿到openid

  • DCloud_UNI_yuhe

    wx.login()不是返回openid啊,它返回的是一个code,你需要通过这个code请求微信来换取openid。你所说的直接拿到openid有问题吧。

    2024-10-08 10:55

要回复问题请先登录注册