技术心得记录:微信小程序之图片频繁变化,几秒之后输出结果(适用于抽奖)

简介: 技术心得记录:微信小程序之图片频繁变化,几秒之后输出结果(适用于抽奖)

测试数据自己动手组建


先上效果图(动画滚动,体现在代码定时器里)


//抽奖


runLottery() {


const that = this


const {


getLuckyBoxHomepage,


classData,


numType


} = this.data


let openOneRewardFiveData = this.data.openOneRewardFiveData


//关闭确认消耗积分弹框


this.setData({


isshowpop: false,


//试玩数据清空


openOneRewardFiveData: 【】


})


//启动定时器


var inteValTime = setInterval(() => {


var result = 【】


var clickNumber = that.data.clickNumber + 1


if (clickNumber > classData.length - 1) {


clickNumber = 0


}


result.push(classData【clickNumber】)


that.setData({


//商品滚动效果


openOneRewardData: result,


clickNumber


})


// console.log(clickNumber, "clickNumber")


// console.log(this.data.openOneRewardFiveData, "openOneRewardFiveData")


// console.log(this.data.animationStatus, "animationStatus")


}, 450);


//抽奖


this.setData({


openOneRewardFiveData: 【】


})


//可以先用测试数据查看效果


common.request(api, {


luckyBoxId: getLuckyBoxHomepage.id,


//开启1次还是5连抽


counts: numType == 'one' ? 1 : 5,


periods: getLuckyBoxHomepage.periods


}, 'POST').then(res => {


console.log("抽奖", res)


if (res.code == 'SUCCESS') {


if (numType == 'one') {


setTimeout(() => {


that.setData({


openOneRewardFiveData: res.data,


clickNumber: 0,


animationStatus: true,


//显示好的按钮


showBtnStatus: true


})


console.log("openOneRewardFiveData", this.data.openOneRewardFiveData)


clearInterval(inteValTime)


}, 3200)


} else {


var fiveTime = setInterval(() => {


var clickNumber_five = that.data.clickNumber_five


clickNumber_five++


//5连抽会隔0.4秒出现抽奖结果


if (clickNumber_five == 5) {


clearInterval(inteValTime)


clearInterval(fiveTime)


that.setData({


clickNumber_five: -1,


clickNumber: 0


})


return false


}


}, 450)


setTimeout(() => {


var fiveDataTime = setInterval(() => {


var clickNumber_five_data = that.data.clickNumber_five_data


clickNumber_five_data++


if (clickNumber_five_data == 5) {


clearInterval(fiveDataTime)


that.setData({


clickNumber_five_data: -1,


showBtnStatus: true,


})


return false


}


openOneRewardFiveData.push(res.data【clickNumber_five_data】)


that.setData({


openOneRewardFiveData,


animationStatus: true,


clickNumber_five_data,


})


if (openOneRewardFiveData.length == 5) {


this.setData({


showBtnStatus: true


})


}


}, 480)


}, 2300)


}


//开奖弹框


this.setData({


runLotteryStatus: !this.data.runLotteryStatus


})


} else {


//积分不足做处理


}


})


},



[/span>view class="protocol-win { {runLotteryStatus? 'block' : 'none'}}" catchtouchmove="touchmove"

[/span>view class="protocol-content-runLottery"

[/span>view class="market_specialEffects"

[/span>view style="position: relative;top: 17.5%;"

[/span>view class="market_rewardDialog"

[/span>view wx:if="{ {!animationStatus}}" class="runLotteryTitle_five"

[/span>view wx:else class="runLotteryTitle_five"


[/span>view wx:if="{ {numType=='one'}}"

[/span>view wx:if="{ {animationStatus}}" class="{ {animationStatus?'animation':''}}"

[/span>view wx:for="{ {openOneRewardFiveData}}" wx:key="index"

[/span>view class="runLotteryFlex"


[/span>view wx:if="{ {item.level==0 && animationStatus}}"


style="background-image: url('');background-size: 100% 100%;width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;"

[/span>image src="{ {item.image}}" />



[/span>view wx:else

[/span>image src="{ {item.image}}" />




[/span>view class="prizeTitle" wx:if="{ {item.commodityName}}"



[/span>view class="prizeTitle" wx:if="{ {item.prizeName}}"


[/span>view class="prizeTitle" wx:if="{ {item.integral>0}}"

[/span>view class="prizeMoney" wx:if="{ {item.price>0}}"

[/span>text style="font-size: 26rpx;"

//代码效果参考:http://www.lyjsj.net.cn/wx/art_23689.html

[/span>text style="font-size: 48rpx;"


[/span>view class="prizeMoney" wx:if="{ {item.integral>0}}"

[/span>text style="font-size: 26rpx;"

[/span>text style="font-size: 48rpx;"





[/span>view wx:else

[/span>view wx:for="{ {openOneRewardData}}" wx:key="index"

[/span>view class="runLotteryFlex"

[/span>view wx:if="{ {item.level==0 && animationStatus}}"


style="background-image: url('');background-size: 100% 100%;width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;"

[/span>image src="{ {item.image}}" />



[/span>view wx:else

[/span>image src="{ {item.image}}" />




[/span>view class="prizeTitle"

[/span>view class="prizeMoney" wx:if="{ {item.price>0}}"

[/span>text style="font-size: 26rpx;"

[/span>text style="font-size: 48rpx;"


[/span>view class="prizeMoney" wx:if="{ {item.integral>0}}"

[/span>text style="font-size: 26rpx;"

[/span>text style="font-size: 48rpx;"






[/span>view wx:else

[/span>view wx:if="{ {animationStatus}}" class="{ {animationStatus?'animation':''}}"

[/span>view class="runLotteryFlex_five_flex_row"

[/span>view class="runLotteryFlex_five_flex" wx:for="{ {openOneRewardFiveData}}"


wx:key="index"

[/span>view class="runLotteryFlex_five"

[/span>view wx:if="{ {item.level==0 && animationStatus}}"


style="background-image: url('');background-size: 100% 100%;width: 100%;height: 100%;

相关文章
|
22天前
|
监控 算法 测试技术
即时通讯技术文集(第45期):微信、QQ技术精华合集(Part2) [共14篇]
为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第45 期。
32 3
|
29天前
|
存储 编解码 监控
即时通讯技术文集(第44期):微信、QQ技术精华合集(Part1) [共14篇]
为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第44 期。
24 2
|
1月前
|
存储 监控 算法
社交软件红包技术解密(三):微信摇一摇红包雨背后的技术细节
本文将由微信团队工程师张文瑞分享微信春节摇一摇红包技术背后的方方面面,希望能给同行们带来启发。
54 1
|
1月前
|
人工智能 小程序 算法
微信小程序地图定位的核心技术与实际应用详解
在移动互联网时代,微信小程序凭借其轻量化和普及性,成为室内地图导航的理想平台。本文探讨了微信小程序在室内定位领域的创新应用,包括蓝牙iBeacon定位、高精度地图构建及AI路径规划等核心技术,及其在购物中心、医院、机场火车站和景区等场景的应用,展示了其为用户带来的高效、智能的导航体验。
121 0
|
3月前
|
存储 监控 容灾
微信技术总监谈架构:微信之道——大道至简(演讲全文)
在技术架构上,微信是如何做到的?日前,在腾讯大讲堂在中山大学校园宣讲活动上,腾讯广研助理总经理、微信技术总监周颢在两小时的演讲中揭开了微信背后的秘密。 周颢把微信的成功归结于腾讯式的“三位一体”策略:即产品精准、项目敏捷、技术支撑。微信的成功是在三个方面的结合比较好,能够超出绝大多数同行或对手,使得微信走到比较前的位置。所谓产品精准,通俗的讲就是在恰当的时机做了恰当的事,推出了重量级功能,在合适的时间以最符合大家需求的方式推出去。他认为在整个微信的成功中,产品精准占了很大一部分权重。
115 1
微信技术总监谈架构:微信之道——大道至简(演讲全文)
|
2月前
|
小程序 前端开发 JavaScript
微信小程序全栈开发中的PWA技术应用
【10月更文挑战第3天】微信小程序作为新兴应用形态,凭借便捷体验与社交传播能力,成为企业拓展业务的新渠道。本文探讨了微信小程序全栈开发中的PWA技术应用,包括离线访问、后台运行、桌面图标及原生体验等方面,助力开发者提升小程序性能与用户体验。PWA技术在不同平台的兼容性、性能优化及用户体验是实践中需注意的关键点。
74 5
|
2月前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
1106 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
3月前
|
程序员 数据库 UED
微信也在用的消息时序性技术,你知道多少?
本文由程序员小米撰写,探讨了在个人项目中如何保证消息的时序性。文章详细介绍了消息时序性的概念及其重要性,并提出了三种方案:ID设计(借鉴微信号段与跳跃式生成)、单聊场景下的单点序列化同步,以及群聊场景中的单点序列化处理。此外,还提供了多种优化方法,如消息时序对齐、本地时序记录等,帮助读者更好地解决消息乱序问题。适合所有关心即时通讯和社交应用技术细节的开发者阅读。
62 4
|
3月前
|
小程序
小程序消除图片下边距的三个方法
小程序消除图片下边距的三个方法
55 11
|
2月前
|
算法 小程序 Java
java制作海报三:获取微信二维码详情,并改变大小,合成到海报(另一张图片)上
这篇文章介绍了如何使用Java获取微信小程序的二维码,并将其调整大小后合成到海报(另一张图片)上。
55 0