uni-app 5+APP微信双开授权登录不弹出选择微信界面 5+demo同现问题

uni-app 5+APP微信双开授权登录不弹出选择微信界面 5+demo同现问题

开发环境 版本号 项目创建方式
HBuilderX 3.1.2

产品分类:HTML5+

手机系统:Android
手机系统版本号:Android 10
手机厂商:华为
手机机型:mate20pro

打包方式:云端

App下载地址或H5网址:
https://appgallery.huawei.com/#/app/C103100055

示例代码:

plusReady:function(){  
    var authBtns = ['weixin', 'qq','apple']; //配置业务支持的第三方登录  
    //检查是否安装微信/QQ  
    plus.oauth.getServices(function(services) {  
        for (var i in services) {  
            var service = services[i];  
            that.auths[service.id] = service;     
            if (~authBtns.indexOf(service.id)) {      
                if(plus.os.name == 'iOS'){  
                    switch (service.id) {                                         
                        case "weixin":  
                            var WXApi = plus.ios.import("WXApi");  
                            if(WXApi.isWXAppInstalled()){  
                                that.hasweixin=true  
                            }  
                        case "qq":  
                            var TencentOAuth = plus.ios.import("TencentOAuth");  
                            if(TencentOAuth && TencentOAuth.iphoneQQInstalled()){  
                                that.hasqq=true  
                            }  
                        case "apple":  
                            that.hasapple=true  
                            break;    
                        default:  
                            break;  
                    }     
                }                                                         
            }  
        }  
    }, function(e) {  
        plus.nativeUI.closeWaiting()  
        plus.nativeUI.toast("认证信息失败2:" + e.message);  
    });  
},  
wxlogin:function(){  
    var auth = this.auths["weixin"]  
    auth.login(function(e){  
        auth.getUserInfo(function() {  
            // console.log(JSON.stringify(auth.userInfo))  
        }, function(e) {  
            plus.nativeUI.closeWaiting()  
            vant.Toast("认证信息失败1:" + e.message);  
        });  
    }, function(e) {  
        console.log(JSON.stringify(e))  
        plus.nativeUI.closeWaiting()  
    })  
}

更多关于uni-app 5+APP微信双开授权登录不弹出选择微信界面 5+demo同现问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

华为现在有android11的系统吗 请确认一下描述信息的准确性?

更多关于uni-app 5+APP微信双开授权登录不弹出选择微信界面 5+demo同现问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html


不好意思写错了,是安卓10.文字已经修改了

目前了解到的是旧版本微信SDK是支持多开分身的。6.6.5开始不支持多开分身。具体原因不明,新版本SDK集成的恰好是6.6.5的版本SDK。试了最新6.6.20依然无法支持多开。只能等微信这边更新支持了

我看很多大厂的应用都是可以支持多开的,他们应该也用的旧版本吧,咱们为什么不用旧版本的SDK呢

回复 霸王: 新版本适配android11 这个探讨过 已经升级了不准备降级SDK

这个问题通常是由于微信双开功能导致的授权登录异常。在华为等支持应用双开的手机上,当微信被双开后,标准的OAuth授权流程可能会出现问题。

解决方案建议:

  1. 首先检查是否在双开环境中运行,可以通过plus.runtime.launcher判断

  2. 对于双开环境,可以提示用户切换到主微信应用进行授权

  3. 检查微信SDK配置是否正确,特别是appid和universal link配置

  4. 在manifest.json中确认已正确配置微信登录所需的权限和参数

  5. 可以尝试捕获错误代码,常见的错误有:

    • 微信未安装
    • 签名不匹配
    • 双开环境限制
  6. 对于华为手机,可能需要特殊处理,可以尝试:

    if(plus.os.vendor === 'huawei') {
      // 华为手机特殊处理
    }
回到顶部