返回

专注连锁门店会员营销管理系统

线上+线下+进销存+收银+会员
HiShop > Hi小程序 > 小程序开发 > 开发实例 >

摇一摇小程序系统开发

2018-02-09 作者:黄珊

我们知道微信摇一摇这个功能,但是如果开发一个摇一摇小程序,要怎么做呢?

 //首先定义一下,全局变量
   var lastTime = 0;//此变量用来记录上次摇动的时间
   var x=0,
       y = 0,
       z=0,
       lastX =0,
       lastY = 0,
       lastZ = 0;//此组变量分别记录对应x、y、z三轴的数值和上次的数值
   var shakeSpeed = 110;//设置阈值
   //编写摇一摇方法
   function shake(acceleration) {
     var nowTime = new Date().getTime();//记录当前时间
     //如果这次摇的时间距离上次摇的时间有一定间隔 才执行
     if (nowTime - lastTime > 100) {
       var diffTime = nowTime - lastTime;//记录时间段
       lastTime = nowTime;//记录本次摇动时间,为下次计算摇动时间做准备
       x = acceleration.x;//获取x轴数值,x轴为垂直于北轴,向东为正
       y = acceleration.y;//获取y轴数值,y轴向正北为正
       z = acceleration.z;//获取z轴数值,z轴垂直于地面,向上为正
       //计算 公式的意思是 单位时间内运动的路程,即为我们想要的速度
       var speed = Math.abs(x + y + z - lastX - lastY - lastZ) / diffTime * 10000;
       //console.log(speed)
       if (speed > shakeSpeed) {//如果计算出来的速度超过了阈值,那么就算作用户成功摇一摇
 
         wx.stopAccelerometer()
 
         self.setData({
           hasInit: false,
           canvas:{}
         })
         audioCtx.setSrc('http://123.207.0.183/application/images/s.mp3')
         audioCtx.play()
         wx.showLoading({
           title: '寻找大神中...'
         })
         config.request({
           // 要请求的地址
           url: config.service.taRan,
           success(e) {
             setTimeout(function(){
               //console.log(e.data)
               audioCtx.setSrc('http://123.207.0.183/application/images/r.mp3')
               audioCtx.play()
               self.uid = e.data
               self.con = ''
               self.onInitShow()
 
             },2000)
 
           }
         })
       }
       lastX = x;//赋值,为下一次计算做准备
       lastY = y;//赋值,为下一次计算做准备
       lastZ = z;//赋值,为下一次计算做准备
     }
   }
   wx.onAccelerometerChange(shake)
   //wx.startAccelerometer()
   var audioCtx = wx.createAudioContext('myAudio')
提醒:audio API的src不能用本地地址。


HiShop小程序工具提供多类型商城/门店小程序制作,可视化编辑 1秒生成5步上线。通过拖拽、拼接模块布局小程序商城页面,所看即所得,只需要美工就能做出精美商城。

更多小程序资讯,尽在:www.hishop.com.cn/xiaocx/


线上+线下+进销存+收银+会员门店零售管理好帮手

  • 极速收银管理

    门店能实现快速收银,提升门店经营效率。

  • 进销存管理

    系统自带进销存管理,更好管理库存销售。

  • 软硬件一体化

    配备收银硬件一站式整体服务。

收 银 会员管理 库存管理 商品管理 交接班 数据报表 营销促单 售后处理 多种收款

获取报价

推荐文章

门店系统 获取报价 立即咨询 免费试用