互亿网络王哥
互亿网络王哥
  • 发布:2022-12-21 14:28
  • 更新:2022-12-21 15:20
  • 阅读:452

【报Bug】最新版 在线打包 uni.getSystemInfo 和 uni.scanCode IOS兼容性问题

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: masos 13.0

HBuilderX类型: 正式

HBuilderX版本号: 3.6.14

手机系统: iOS

手机系统版本号: iOS 16

手机厂商: 苹果

手机机型: IPXS

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

1.苹果IOS登录判断部分
<!-- #ifndef MP -->
<button v-if="system >= '13' && platform=='ios'" @tap="login_apple" class="login_apple">
<view class="list-icon"></view>通过Apple登录
</button>
<!-- #endif -->

onLoad() {
// 先判断IOS系统版本
uni.getSystemInfo({
success: (res) => {
this.system = res.system
this.platform = res.platform
},
fail: (err) => {},
complete: () => {}
})
},

2.扫一扫部分

        //扫码核验  
        scanCode: function() {  
            uni.scanCode({  
                onlyFromCamera: true,  
                success: function(res) {  
                    this.mid = uni.getStorageSync('SUID');  
                    this.result = res.result + '&uid=' + this.mid;  
                    //console.log(123,this.result);  
                    //请求后端核验  
                    uni.request({  
                        url: this.result,  
                        method: 'POST',  
                        header: {  
                            'content-type': "application/x-www-form-urlencoded"  
                        },  
                        success: (res) => {  
                            //console.log(456,res);  
                            uni.hideLoading();  
                            uni.showModal({  
                                title: '提示',  
                                content: res.data.msg  
                            });  
                            uni.redirectTo({  
                                url: 'xxxxxxx'  
                            });  
                        }  
                    })  
                },  
                complete: function(res) {  
                    uni.showLoading({  
                        'title': '处理中...'  
                    });  
                    setTimeout(function() {  
                        uni.hideLoading();  
                    }, 1000);  
                },  
                fail: function(res) {  
                    setTimeout(function() {  
                        uni.hideLoading();  
                    }, 1000);  
                }  
            })  
        },  

操作步骤:

1.调用 uni.getSystemInfo api 用system 和 platform 判断系统版本和运行系统属于ios 还是安卓。展现苹果登录的按钮。

v-if="system >= '13' && platform=='ios'" ,无效。

2.IOS端 uni.scanCode 黑屏。安卓和小程序正常。

预期结果:

1.实际打包后 ,能出现通过Apple登录的按钮。

2.IOS端 uni.scanCode能扫码。

实际结果:

1.实际打包后 ,IOS没有出现通过Apple登录的按钮。

2.IOS端 uni.scanCode 黑屏。安卓和小程序正常。

bug描述:

1.反馈问题, uni.getSystemInfo 云端打包和真机环境 ios系统都无法返回system 和 platform 参数

2.反馈问题, uni.scanCode 扫码功能,安卓和小程序扫码正常,ios黑屏,各版本ios 都试过扫码黑屏。无法调用摄像头。

版本号: 3.6.14.20221215 都是在线打包。

2022-12-21 14:28 负责人:DCloud_iOS_WZT 分享
已邀请:
DCloud_iOS_WZT

DCloud_iOS_WZT

uni.scanCode 需要勾选barcode模块

  • 互亿网络王哥 (作者)

    谢谢您,感谢您指点。

    2022-12-21 16:45

  • DCloud_iOS_WZT

    回复 m***@swlts.com: https://uniapp.dcloud.net.cn/api/system/info.html#%E7%B3%BB%E7%BB%9F%E4%BF%A1%E6%81%AF%E7%9A%84%E6%A6%82%E5%BF%B5

    2022-12-22 11:11

  • DCloud_iOS_WZT

    回复 m***@swlts.com: 我试了下 我这边是有这些字段的啊

    2022-12-22 12:27

  • DCloud_iOS_WZT

    你这个system 判断有问题 system 返回的是 iOS 16.0 你这样判断不行吧

    2022-12-22 12:28

  • a***@163.com

    barcode模块是在哪里勾选的啊?

    2023-01-30 13:42

  • a***@163.com

    回复 a***@163.com: scanType: ['barCode'] 是指的这块吗

    2023-01-30 14:01

要回复问题请先登录注册