非常简单,通过wx.onAccelerometerChange()监听设备加速度,如果达到某个值我们就判定用户是在摇手机:
onReady(){
let that = this;
// 监听摇手机动作
wx.onAccelerometerChange(function (e) {
if (e.x > 1 && e.y > 1) {
console.log(e);
// 使手机发生较长时间的振动(400 ms),优化用户体验
wx.vibrateLong({
success(res){
console.log(res)
},
fail(err){
console.log(err)
}
})
that.setData({
isYao: true
}, () => {
// 动画大概4秒后结束
setTimeout(() => {
that.setData({ isOver: true });
}, 4000);
})
// 关闭监听
wx.offAccelerometerChange()
}
})
},