SuperGP
SuperGP
  • 发布:2022-10-19 15:04
  • 更新:2022-10-20 11:19
  • 阅读:329

【报Bug】onAccelerometerChange

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 12.4 (21F79)

浏览器平台: 微信内置浏览器

浏览器版本: 104.0.5112.101

项目创建方式: CLI

CLI版本号: 2.0.1-35320220729002

App下载地址或H5⽹址: http://scrm.wxh5.super0.net/pages/index/activityLucky?scope=snsapi_userinfo&companyId=104&corpId=ww7c9e07d2fc8b16d6&id=8

示例代码:

onLoad(option) {
this.option = option;
uni.onAccelerometerChange(async (res) => {
alert(312);
if (
Math.abs(res.x) > 30 ||
Math.abs(res.y) > 30 ||
Math.abs(res.z) > 30
) {
}
});
},

操作步骤:

微信浏览器或手机浏览器运行

预期结果:

都可正常使用

实际结果:

不能使用

bug描述:

ios手机 onAccelerometerChange在内置浏览器是可以工作的但是到微信浏览器或者手机的浏览器就不能正常用了

2022-10-19 15:04 负责人:无 分享
已邀请:
DCloud_UNI_WZF

DCloud_UNI_WZF

注意:H5端获取加速度信息,需要部署在 https 服务上,本地预览(localhost)仍然可以使用 http 协议。

  • SuperGP (作者)

    那ios h5不触发怎么解决

    2022-10-19 18:53

  • DCloud_UNI_WZF

    回复 SuperGP: 不是不触发,是需要部署到https服务上

    2022-10-19 19:27

  • SuperGP (作者)

    回复 DCloud_UNI_WZF: 用了https ios浏览器依然无反应 ios浏览器13.2版本以上不是要授权一下才能用吗?用了你这个借口没有授权弹窗啊!

    2022-10-20 10:12

  • DCloud_UNI_WZF

    这边测试可以,不需要授权弹框 https://running-snail.site/onAccelerometerChange

    2022-10-20 10:22

  • SuperGP (作者)

    回复 DCloud_UNI_WZF: 我上面那样写真的不触发能指点一下不。用了你这个dome也是会弹出授权的但是我的那个就没有弹框

    2022-10-20 10:32

DCloud_UNI_WZF

DCloud_UNI_WZF

vue2 默认模板项目,pages/index/index.vue 修改为如下

<template>  
    <view class="content">  
        <view>test onAccelerometerChange</view>  
        <button type="primary" @click="startAccelerometer">startAccelerometer</button>  
        <button type="primary" @click="onAccelerometerChange">onAccelerometerChange</button>  
        <view>x:{{x}}</view>  
        <view>y:{{y}}</view>  
        <view>z:{{z}}</view>  
    </view>  
</template>  

<script>  
    export default {  
        data(){  
            return {  
                x:0,  
                y:0,  
                z:0  
            }  
        },  
        methods: {  
            startAccelerometer(){  
                uni.startAccelerometer({  
                    complete(res){  
                        console.log('startAccelerometer complete',res);  
                    }  
                })  
            },  
            onAccelerometerChange(){  
                uni.onAccelerometerChange(res => {  
                    this.x = res.x  
                    this.y = res.y  
                    this.z = res.z  
                    alert('onAccelerometerChange 触发')  
                })  
            }  
        }  
    }  
</script>

打包部署就是我给你的链接,你对比下差异吧

  • SuperGP (作者)

    感谢!我试试。

    2022-10-20 11:20

该问题目前已经被锁定, 无法添加新回复