shareHandle(){  
    let msg = {  
        type: 'web',  
        href: 'https://www.baidu.com',  
        content: '我正在使用HBuilderX开发uni-app,赶紧跟我一起来体验!' // 分享消息的文字内容----微信必填  
    };  
    this.shareWeb('sinaweibo',msg)  
}  
shareWeb(provider, msg) {  
        // #ifdef APP-PLUS  
        const result = {}  
        return new Promise((resolve, reject) => {  
            plus.share.getServices(  
                function(services) {  
                    let shares = ''  
                    services.forEach((element) => {  
                        if (element.id == provider) {  
                            shares = element  
                        }  
                    })  
                    if (provider != 'sinaweibo') {  
                        // 新浪微博没装客户端时可以直接调用网页来分享,所以新浪微博不须要去判断有没有客户端  
                        if (!shares.nativeClient) {  
                            // 如果不存在对应的分享客户端,引导用户安装客户端  
                            result.success = false  
                            result.msg = '分享失败:您还未安装客户端!'  
                            resolve(result)  
                            return  
                        }  
                    }  
                    if (!shares.authenticated) {  
                        // 如果还未认证(QQ和微博),先去认证  
                        shares.authorize(  
                            function() {  
                                shares.send(  
                                    msg,  
                                    function() {  
                                        result.success = true  
                                        result.msg = '分享成功!'  
                                        resolve(result)  
                                    },  
                                    function(error) {  
                                        result.success = false  
                                        result.msg = '分享失败:' + error.message.split('http')[0]  
                                        resolve(result)  
                                    }  
                                )  
                            },  
                            function(error) {  
                                result.success = false  
                                result.msg = '获取授权失败:' + error.message.split('http')[0]  
                                resolve(result)  
                            }  
                        )  
                    } else {  
                        // 如果已经认证(微信),可以直接调用分享,  
                        uni.showModal({  
                            title: '即将进行分享',  
                            content: '即将进行分享',  
                            success: function (res) {  
                            if (res.confirm) {  
                            shares.send(  
                                msg,  
                                function() {  
                                    result.success = true  
                                    result.msg = ''  
                                    resolve(result)  
                                },  
                                function(error) {  
                                    result.success = false  
                                    result.msg = '分享失败:' + error.message.split('http')[0]  
                                    resolve(result)  
                                }  
                            )   
                            } else if (res.cancel) {  
                                console.log('用户点击取消');  
                            }  
                        }  
                    });  
                }  
            },  
            function(error) {  
                result.success = false  
                result.msg = '获取授权失败:' + error.message.split('http')[0]  
                resolve(result)  
            }  
        )  
    })  
// #endif  
} 
                                        
                                    
                                    - 发布:2022-01-25 12:06
- 更新:2022-03-07 18:17
- 阅读:837
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Windows 10
HBuilderX类型: 正式
HBuilderX版本号: 3.3.9
手机系统: iOS
手机系统版本号: iOS 14
手机厂商: 苹果
手机机型: iPhone6s,iPhoneXR
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
App下载地址或H5⽹址: https://apps.apple.com/cn/app/%E8%8F%A0%E8%90%9D%E6%B4%BE/id1599755787
示例代码:
                                    
                                    
                                         
                                
                                                                                                操作步骤:
                                    
                                        1.安装微博app
2.打开开发app,点击微博分享。成功唤起微博app
3.登陆微博app
4在开发app中再次点击微博分享后无反应,无法调用HTML5+的ShareService.send()方法(ShareService.send()的成功和失败回调函数皆不运行)且没有唤起微博app  
                                     
                                
                                                                                                1.安装微博app
2.打开开发app,点击微博分享。成功唤起微博app
3.登陆微博app
4在开发app中再次点击微博分享后无反应,无法调用HTML5+的ShareService.send()方法(ShareService.send()的成功和失败回调函数皆不运行)且没有唤起微博app  
预期结果:
                                    
                                    
                                        登录微博APP后在开发APP中点击微博分享能成功唤起微博APP
                                     
                                
                                                                                                登录微博APP后在开发APP中点击微博分享能成功唤起微博APP
实际结果:
                                    
                                    
                                        登录微博APP后在开发APP中点击微博分享无法唤起微博APP
                                     
                                
                                                            登录微博APP后在开发APP中点击微博分享无法唤起微博APP
bug描述:
IOS分享至微博无法唤起微博,而微信及QQ都可以唤起
在手机安装微博APP(微博APP已登录)的情况下,在IOS中调用HTML5 的ShareService.send()方法无法唤起微博APP(使用uni.share()也不行)
manifest.json=>APP模块配置=>分享=>新浪微博分享中的APPkey、redirect_uri、IOS通用链接均已配置(与微博开房平台中对应信息完全一致 )
 
             
             
             
			 
                                                                     
                                                                     
            
x***@hotmail.com (作者)
UNI7369C00
实际上是点上的,如果在代码shares.send()前一行中插入uni.showModal()的话是可以成功弹框
2022-01-25 14:26
天生DR
回复 x***@hotmail.com: 是个Bug 下个版本修复
2022-01-25 18:55