使用微信提供的wx.startAccelerometer()方法实现,可以写在onShow()钩子函数中,当用户摇动手机时会自动触发

具体实现方法如下:

// 开始监听加速度数据。
wx.startAccelerometer({
	interval: 'game',
	success: function() {
		// 监听加速度数据事件。频率根据 wx.startAccelerometer() 的 interval 参数, 接口调用后会自动开始监听。
		wx.onAccelerometerChange(function(res) {
			// res.x、res.y、res.z设备偏移量
			if (res.x > 3 || res.y > 3 || res.z > 3) {
				// _this.loading触发摇一摇时,加载接口,当加载接口获取抽奖结果时,不再触发摇一摇获取抽奖结果的接口
				if (!_this.loading) {
				//_this.imgPlay为class属性,添加摇一摇的css动画属性
				_this.imgPlay = 'play'
				// 定时器去除摇一摇的css样式
				setTimeout(() => {
					// 计时器去除摇一摇的css样式
					_this.imgPlay = ''
					_this.loading = false
					// _this.getDrawRaffle()是调用抽奖结果的方法
					_this.getDrawRaffle()
				}, 1000)
				_this.loading = true
				}
			} else {
				uni.showToast({
				title: '今天抽奖次数已用完',
				duration: 2000,
				icon: 'none'
				})
			}
		})
	}
})

结尾:样例小程序二维码,我自己做的一个免费好用的【随机选择决定转盘工具】小程序,欢迎扫码体验呦!

谢谢阅读!~~

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐