uniapp实现简单的九宫格抽奖(附源码)

uni-app 九宫格抽奖活动 阅读详情

在这里插入图片描述

效果展示

uniapp实现大转盘抽奖

实现步骤:

1.该页面可设置8个奖品,每个奖品可设置中奖机会的权重,如下chance越大,中奖概率越高(大于0)

// 示例代码
prizeList: [
	{
		id: 1,
		image: "https://img.alicdn.com/imgextra/i4/1939750137/O1CN01XZivln1CsmzUGGtQF_!!0-saturn_solar.jpg_468x468q75.jpg_.webp",
		name: "奖品1",
		chance: 1
	},
	{
		id: 2,
		image: "https://img.alicdn.com/imgextra/i4/1939750137/O1CN01XZivln1CsmzUGGtQF_!!0-saturn_solar.jpg_468x468q75.jpg_.webp",
		name: "奖品2",
		chance: 3
	},{
		id: 3,
		image: "https://img.alicdn.com/imgextra/i4/1939750137/O1CN01XZivln1CsmzUGGtQF_!!0-saturn_solar.jpg_468x468q75.jpg_.webp",
		name: "奖品3",
		chance: 1
	},
	{
		id: 4,
		image: "https://img.alicdn.com/imgextra/i4/1939750137/O1CN01XZivln1CsmzUGGtQF_!!0-saturn_solar.jpg_468x468q75.jpg_.webp",
		name: "奖品4",
		chance: 1
	},
	{
		id: 5,
		image: "https://img.alicdn.com/imgextra/i4/1939750137/O1CN01XZivln1CsmzUGGtQF_!!0-saturn_solar.jpg_468x468q75.jpg_.webp",
		name: "奖品5",
		chance: 1
	},
	{
		id: 6,
		image: "https://img.alicdn.com/imgextra/i4/1939750137/O1CN01XZivln1CsmzUGGtQF_!!0-saturn_solar.jpg_468x468q75.jpg_.webp",
		name: "奖品6",
		chance: 1
	},
	{
		id: 7,
		image: "https://img.alicdn.com/imgextra/i4/1939750137/O1CN01XZivln1CsmzUGGtQF_!!0-saturn_solar.jpg_468x468q75.jpg_.webp",
		name: "奖品7",
		chance: 2
	},
	{
		id: 8,
		image: "https://img.alicdn.com/imgextra/i4/1939750137/O1CN01XZivln1CsmzUGGtQF_!!0-saturn_solar.jpg_468x468q75.jpg_.webp",
		name: "奖品8",
		chance: 1
	}
]

2.该页面8个奖品加上一个立即抽奖,一共9个格子,可使用flex-wrap布局排列,转到哪个格子就使用border高光标注

<!-- 示例代码 -->
<view class="lottery">
	<block v-for="(item, index) in prizeList" :key="index">
		<image class="prize" :class="currentIndex==index?'active':''" src="https://img.alicdn.com/imgextra/i4/1939750137/O1CN01XZivln1CsmzUGGtQF_!!0-saturn_solar.jpg_468x468q75.jpg_.webp" />
		<view v-if="index==3" class="goLottery center_row" :style="btnDisabled?'opacity:0.5;':''" @tap="goLottery">
			<view>立即抽奖</view>
		</view>
	</block>
</view>

3.转动可多次使用不同时间的定时器setInterval和clearInterval结合,不断切换格子active的border位置

// 示例代码
data() {
	return {
		currentIndex: 0,
		runIndexList: [0,1,2,4,7,6,5,3],
		lastRunStepList: [0,1,2,7,3,6,5,4],
		btnDisabled: false,
		prizeList: []
	}
},






let timer = setInterval(() => {
	count--
	currentIndex++
	this.currentIndex = (this.runIndexList[currentIndex % 8])
	if (count < this.prizeList.length * 2) {
		clearInterval(timer)
		let timer2 = setInterval(() => {
			count--
			currentIndex++
			this.currentIndex = (this.runIndexList[currentIndex % 8])
			if (count < this.prizeList.length * 1 - 3) {
				clearInterval(timer2)
				let timer3 = setInterval(() => {
					count--
					currentIndex++
					this.currentIndex = (this.runIndexList[currentIndex % 8])
					if (count <= 0) {
						clearInterval(timer3)
						this.btnDisabled = false
						uni.showToast({
							title: `恭喜您,抽中了${this.prizeList[this.currentIndex].name}`,
							icon: "none"
						})
					}
				}, 400)
			}
	}, 200)
	}
}, 100)

4.根据提前设定好的奖品概率change随机抽取奖品

// 示例代码
// 返回抽奖结果奖品的index
getResultIndex() {
	let totalChance = 0
	for (let i in this.prizeList) {
		totalChance += Number(this.prizeList[i].chance ? this.prizeList[i].chance : 1)
	}
	// 0 ~ 1
	let random = Math.random()
	let index = 0
	let num = 0
	for (let i in this.prizeList) {
		num += (Number(this.prizeList[i].chance) / totalChance)
		if (random < num) {
			index = Number(i)
			break
		}
	}
	return index
}

大功告成!

在这里插入图片描述
有任何问题请留言咨询,着急请+企鹅1140559610有源码

lucky canvas - 免费开源的大转盘/九宫格抽奖前端开发组件 618马上要到了,大家有遇到做抽奖活动的需求吗?看看这个强大的抽奖组件吧,上线还来得及。 关于 lucky-canvas lucky-canvas 是一个基于 Js + Canvas 的抽奖 web 前端组件,提供大转盘和九宫格两种抽奖界面,UI 精美,功能强大且专业可靠,只需要通过简单配置即可实现自由定制,快速完成产品需求。 lucky-canvas 的功能特色 简单自由。奖品 / 文字 / 图片 / 颜色 / 按钮均可自由配置;支持同步 / 异步抽奖;中奖概率前 / 后端可控 多端适配。支持 Js. 阅读详情

相关推荐

uniapp - 全平台兼容 | 实现九宫格转盘抽奖功能效果,uniapp宫格老虎机抽奖活动,支持后端接口确定最终奖品,最好用的九宫格抽奖机插件组件源码,无bug(详细示例全部代码,一键复制开箱即用)

uniapp,支付宝微信小程序,h5网站网页,九宫格抽奖,转盘抽奖,抽奖页面老虎机,宫格旋转抽奖组件,uniapp有哪些宫格抽奖的插件,有什么好用的抽奖组件插件,如何实现全平台兼容的九宫格抽奖插件,圆形转盘抽奖,让后端决定中奖奖品,支持让服务端接口确定抽中什么奖品,uniapp手机端网页九宫格抽奖,uniappH5移动端抽奖宫格组件,前端抽奖功能实现,微信小程序抽奖源码,uniapp抽奖概率控制, 九宫格抽奖, 抽奖插件, 移动端抽奖实现, H5抽奖应用, uni-app抽奖开发教程, 响应式抽奖组件, U

✅ 精选推荐文章 3303

uniapp 实现抽奖幸运大转盘功能

手写抽奖转盘功能。

PrimaryColor 8053

uni-app - 九宫格老虎机抽奖机插件源码(支持服务端API接口控制最终中奖的奖品,自定义组件可随意配置和控制,带组件文档轻松 DIY 自己的营销页抽奖机)幸运抽奖圆形大转盘插件组件

vueuniapp小程序抽奖转盘老虎机和九宫格,uniapp九宫格抽奖,开源抽奖插件九宫格大转盘,uni-APP组件九宫格抽奖,lucky-canvas【大转盘|九宫格|老虎机】抽奖插件,uniapp怎么实现营销页面的H5类似宫格的抽奖老虎机数字抽奖(可控制结果),实现一个九宫格抽奖,uni-app-九宫格老虎机抽奖机插件源码(支持服务端API接口控制最终中奖的奖品,自定义组件可随意配置和控制,带组件文档轻松DIY自己的营销页抽奖机)幸运抽奖圆形大转盘插件组件。uniapp实现全网最好用

🏆 前端领域优质创作者 8323

【记录一下】Uniapp实现转盘抽奖效果

uniapp中使用uni.createAnimation实现转盘效果

Red_Sugar的博客 2182

uni-app - 幸运抽奖圆形大转盘插件组件(支持后端接口确定最终奖品,可自定义轮盘宽高、颜色、字号、按钮等等,全端兼容代码干净整洁无 BUG,官方最好用的营销页面抽奖转盘源码)老虎机九宫格式抽奖机

uniapp实现全网最好用的抽奖幸运大转盘功能源码插件组件,vue.js类似老虎机九宫格式跳动抽奖机组件怎么写,幸运圆形的大转盘抽奖和宫格抽奖(前端uniapp),兼容性最好的大转盘思路解析官方教程,大转盘抽奖平台,微信小程序、Vue.js和H5营销页转盘抽奖游戏,uniapp写抽奖转盘,多平台(uniapp|vue|)开源抽奖插件(九宫格大转盘,圆形椭圆圆盘转动抽奖,vue转盘老虎机抽奖工具插件代码,uni-app-幸运抽奖圆形大转盘插件组件(支持后端接口确定最终奖品,可自定义轮盘宽高、颜

🏆 前端领域优质创作者 1万+

数据分析学习总结笔记02:聚类分析及其R语言实现

** 数据分析学习总结笔记02:聚类分析Cluster Analysis ** 1. 聚类分析概述 1.1 聚类分析的直观理解 在科学研究、社会调查或日常生活中,通过观察个体的特征,将群体中的个体归为不同的族群/簇(Cluster)。 2. 聚类分析的方法 3. 聚类分析的应用 3.1 市场营销——精准营销 在市场营销中,基于消费者的历史交易信息、消费者背景等对消费者进行划分,从而对不同类型的消费...

weixin_41961559的博客 4420

使用uniapp的WebView实现轮盘抽奖

实现思路 朋友们总是在吃饭的时候纠结到底吃什么好,在哪儿纠结吃这个还是吃这个呢?开始犯上了选择困难症,老是磨磨唧唧的。有一天突发奇想整一个随机抽奖吃饭APP,所以编写了以下代码 这里使用了lucky-canvas的抽奖插件 点击这里进入框架 起初我是想打包成APK放到手机上来方便使用的,但是该插件只支持H5与小程序等,不支持APP端,我就思来想去可以使用WebView来实现这个功能呀! 可以点击这里 实机演示具体实现效果就是这样由于是简单做的一个主要是完成功能,没有注重样式。 这里是UniApp详细代码演示

yiyuanpeng2004的博客 1960

Costas环参数调优指南:QPSK载波同步中的环路滤波器设计技巧

本文深入解析QPSK载波同步中Costas环的参数调优,特别是环路滤波器的设计技巧。通过分析星座图异常现象,提供从理论计算到MATLAB仿真的实战调优指南,涵盖环路带宽、阻尼系数等关键参数在不同信噪比场景下的选择策略,旨在解决载波同步失锁、性能下降等工程难题。

weixin_29035147的博客 534

微信小程序 | 一文总结全部营销抽奖功能

吐血整理移动端营销抽奖功能!小程序、app、H5全端通用。全网最全,不收藏必后悔系列!

陶人超有料的博客 2042

深入解析Android Thermal框架:从应用层到驱动层的温度管理机制

本文深入解析Android Thermal框架的温度管理机制,从应用层到驱动层详细介绍了温度监测、热状态评估和降温策略执行的全过程。通过分层架构解析和关键组件交互,帮助开发者理解Android设备如何实现高效的温度控制,确保硬件安全并优化性能。

weixin_29303701的博客 256

linux v3h平台开发系列详解(GMSL摄像头篇):1.11 解串器MIPI 1.5G高速率特殊deskew配置

解串器max96712 deskew配置

xian18809311584的博客 1774

【程序源代码】大转盘九宫格老虎机抽奖工具(含源码)

本项目旨在开发一款全平台兼容的抽奖插件,支持大转盘、九宫格、老虎机三种经典抽奖形式,为企业提供一站式营销解决方案。大转盘九宫格老琥机抽奖插件(含小程序源码、前端、后端)大转盘九宫格老琥机抽奖插件(含小程序源码、前端、后端)type: String (转盘/九宫格/老虎机)PUT /prize/update:修改奖品概率。POST /prize/create:新增奖品。实现多终端适配(小程序/H5/APP)GET /prizes:获取奖品列表。百度 Web Uploader。(四)源码下载说明以及项目说明。

程序源代码 1229

第14.5章 高翔博士最新开源框架Lightning-LM源码解读(五):揭秘位姿图优化核心模块,从数学原理到代码实现

本文介绍了Lightning-LM框架中的位姿图优化(PGO)模块实现。该模块通过融合多源定位信息(激光定位、激光里程计、DR等),构建并优化位姿图来获得更精确的位姿估计。 主要内容包括: 模块概况与数据流程:初始化配置→添加PGO帧→分配位姿→优化求解→更新位姿→滑动窗口 16个核心函数详解:从构造函数到边缘化处理,涵盖完整的PGO工作流程 关键技术点:噪声参数设置、优化问题构建、约束添加、异常值处理等 关键数据结构:帧队列管理、顶点和边构建、优化统计信息收集 该PGO模块采用增量式优化方式,支持多种约束

行知SLAM 1215

幸运转盘抽奖网页应用

uniapp实现大转盘抽奖,活动抽奖的完整代码和详细注释

weixin_43193257的博客 878

极智AI | 谈谈为什么卷积加速更喜欢 NHWC Layout

本文主要讨论一下为什么卷积加速更加喜欢 NHWC 的数据排布。

极智视界 2970

【AI智能体】Spring AI Tool 从使用到实战详解

Spring AI Tool

congge 5864

一个基于 JavaScript 的跨平台抽奖插件

推荐一个基于 JavaScript + Canvas 开发的抽奖插件,支持大转盘、九宫格、老虎机三种抽奖模式。致力于为 Web 前端提供一个功能强大且专业可靠的营销组件,只需要通过简单配置即可实现自由化定制,帮助你快速的完成产品需求。一套源码适配多端框架 JS、Vue、React、Taro、UniApp微信小程序等,该开源项目在 GitHub 获得了 3.5 K的 St...

公众号:逛逛GitHub 879

SAP ABAP CO核心扩展-为企业定制ZCKM3N物料价格分析增强(CKM3 CKM3N CKM8N)

这篇文章,将为大家讲述物料价格分析扩展增强(ZCKM3N)的方法和原理,并基于CKM3N的视图之一“CV成本组件”,教大家如何一步步实现批量输出多工厂物料的物料价格分析报表。

SAP李斌,本人承诺所有原创文章均不使用任何AI生成技术,请大家放心阅读。 3982

盲盒小程序源码实战:Uniapp跨端开发、易支付回调与防掉单方案全解析

在移动互联网应用中,跨端开发框架与支付链路的稳定性,始终是开发者关注的核心技术命题。Uniapp作为一套代码多端编译的解决方案,能够高效覆盖微信小程序、H5与App,极大降低多平台维护成本。而个人开发者常面临的支付接入难题,则可通过聚合支付渠道解决,以较低门槛完成交易闭环。在支付流程中,回调通知的可靠性直接关系到订单一致性与用户体验。本文从跨端UI还原、组件化开发、支付参数对接、签名验签、无限回调幂等处理、库存防超卖等多个维度,系统拆解一套可商用的盲盒源码设计思路,并给出部署上线与常见故障排查的工程实践建议

weixin_28365523的博客 215

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Qwen Code 完整指南:一键安装、五种界面、开源 AI 编程智能体

Qwen Code 是一个开源的 AI 编程智能体(AI coding agent,能自主读代码、改代码、跑命令的 AI 助手),主阵地是终端,同时提供桌面应用、浏览器 Web 界面、VS Code / Zed / JetBrains 编辑器插件,以及接进 Telegram、DingTalk、WeChat、Feishu 等聊天软件的渠道。框架和 Qwen 模型全部开源,可对接 OpenAI、Ant

gitblog_00562的博客 482

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

uniapp 开发神器,效率翻倍!

本文来分享一些好用的 uniapp 开发工具,助力高效开发!

lsq191690的博客 3769

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

首款原创产品uniapp开发的一番赏潮玩小程序php源码现已上线!一番赏潮玩小程序玩法介绍

首款原创产品uniapp开发的一番赏潮玩小程序php源码现已上线!一番赏潮玩小程序玩法介绍

web测评 1778

uniapp助力高效开发

模板。

vsmybits的博客 234

ShopXO 开源商城:基于 ThinkPHP 8 的多端电商系统架构与功能全景解析

ShopXO 是一款遵循 MIT 协议发布的企业级免费开源 B2C 商城系统,主打可视化 DIY 拖拽装修、多端覆盖(PC、H5、微信/支付宝/百度/头条&抖音/QQ/快手小程序、APP)以及多仓库、多商户、多门店、进销存等电商一体化能力。本篇以仓库根目录的 [README.md](https://link.gitcode.com/i/7b4ce69823245e01ea4c1868f55212c

gitblog_00667的博客 213

uniapp使用luckywheel幸运抽奖

【代码】uniapp使用luckywheel幸运抽奖。

wendy_qx的博客 2367

uniapp 九宫格抽抽奖

【代码】uniapp 九宫格抽抽奖。

YUlangML的博客 944
上一篇: You can replace “git config“ with “git config --global“ to set a default
盛国强
博客等级 码龄11年 105粉丝 22原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值