整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

盲盒抽奖小程序开发方案:支持线上抽盒/互换/回收/社交

盒抽奖小程序APP项目如火如荼,玩家群体广泛,涵盖各年龄段。目前,这款风靡一二线城市的潮流正以不可阻挡之势向三四线城市扩散,其热度之高令人瞩目。因此,盲盒抽奖小程序APP的火爆程度显然不会短时间内冷却。下面,就让我们一起来深入了解这款引人入胜的小程序开发相关的信息吧。

盲盒抽奖小程序平台使用场景介绍

1、可不同盲盒选定不同商品、有利于商品促销

2、增强用户黏贴度

3、可不同盲盒排序组合

4、支持盲盒抽中奖品预览功能,提示客户可能抽中的盲盒里面所藏的礼品

5、支持盲盒商品分销功能

6、支持对接周期商品配送功能

7、支持盲盒自定义价格功能,可以不同盲盒不同价格自由排序组合

盲盒抽奖小程序功能介绍

1、支持盲盒扫码核销

2、支持盲盒商品动态管理功能,抽中商品自动减库存

3、盲盒商品支持物流、同城快递、门店自提(支持多门店自提功能,该功能详细使用介绍点击前往查看)

盲盒抽奖小程序设计开发怎么做,流程是怎么样的?

1.需求分析:同样首要的是对业务需求的理解和分析,包括功能定位,用户群体,交互设计等。

2.技术选型:小程序的开发语言主要是JavaScript,也需要选择合适的开发框架(如uni-app,Taro等)和开发工具(如微信开发者工具)。

3.设计与开发:在确定了需求和技术选型后,进行小程序的界面设计和代码开发。与App开发一样,也要进行单元测试以保证代码质量。

4.测试与调试:小程序平台通常提供了方便的模拟器和真机调试工具,开发者需要在这个阶段进行全面的测试,找出并修复问题。

5.发布与审核:完成开发后,需要提交小程序的代码进行审核。审核通过后,小程序即可发布上线。需要注意的是,小程序的更新也需要经过审核。

6.运营与维护:发布后需要对小程序进行持续的运营和维护,包括内容更新、数据分析、性能优化等。

总的来说,盲盒小程序无疑是一个充满潜力的市场,它拥有广泛的受众群体和不断增长的市场需求。然而,这个领域也给开发者提出了新的挑战。为了能够在这个竞争激烈的市场中立足,开发者必须不断提高自己的综合实力,确保小程序的持续运营和发展。

文章编辑v:sidukeji666

页抽奖转盘应用相对广泛,实现抽奖转盘的方法很多,今天呢就讲一种原理最简单、最容易实现的方法。

思路分析:这里实现抽奖转盘运用的是CSS动画,首先需要做一张抽奖转盘的那个盘面图,如下图所示(这里用的AI绘制的,不会的小伙伴直接把这张图保存即可)

然后在图的中心加入一个圆形按钮并在按钮下面加入一个指针,点击一次旋转图片(CSS动画执行旋转),再次点击停止,即实现了抽奖转盘效果

参考代码:

内容部分:

样式部分:

JS部分:

实际效果:

对前端感兴趣的小伙伴记得关注小编,每天都会更新前端的一些小技巧。没点赞的小伙伴记得点赞收藏哦,谢谢大家!

者:徐小夕 来源:趣谈前端

本文主要介绍如何使用原生javascript和Css3来实现一个在各大移动应用中经常出现的转盘游戏,由于该实现可以有不同方式,如果熟悉canvas的话也可以用canvas实现,本文采用js和css实现主要考虑到复杂度较小性能较好,所以如果有更好的方案,也可以随时和我交流。

前言

本文技术路线采用和上篇文章教你用200行代码写一个爱豆拼拼乐H5小游戏(附源码)同样的技术,即均使用本人自己写的dom库去简化dom操作,具体需要掌握的知识点有:

  • css3 背景渐变,transform,transition
  • less循环的使用
  • javascript基本随机算法
  • 文档片段 documentFragment的使用

由于文章没有太高深的技术,关键是思路,所以接下来开始我们的实现介绍。

效果图

实现思路

实现思路分两部分,第一部分是用css绘制转盘背景,第二部分是通过js实现转盘的转动以及转动随机性的实现。

1. 绘制转盘背景

我们采用背景渐变的方式去实现条纹交替的扇形,原理就是通过绘制一个半圆,并在半圆里加渐变来实现,如下图:

实现将方形变成半圆的css我们通过border-radius来实现:

width: 150px;

height: 300px;

border-radius: 0 150px 150px 0;

我们再通过css的线性渐变,这样基本上可以实现一个小的扇形区域:

渐变的代码如下:

background-image: linear-gradient(120deg, #f6d365, #f6d365 75px, transparent 75px);

实现了一个扇形,我们自然可以通过计算,比如我们扇形弧度为30deg,那么我们需要12个扇形即可组成一个圆,为了方便,我们使用less的循环来实现:

.loop(@n) when (@n >= 0) {

.loop(@n - 1);

.piece-@{n} {

transform: rotate(-30deg * (@n + 1));

}

}

还有一个细节是,我们需要改变变换的中心点,让每个扇形都以一个中心点渲染,这样才可以组成一个完整的圆:

transform-origin: left center;

完整的css大致如下:

.piece-wrap {

position: relative;

width: 300px;

height: 300px;

margin: 100px auto auto 173px;

transform-origin: left center;

transition: transform 16s cubic-bezier(0,.47,.31,1.03);

.piece {

position: absolute;

left: 0;

top: 0;

width: 150px;

height: 300px;

border-radius: 0 150px 150px 0;

transform-origin: left center;

span {

margin-left: 16px;

margin-top: 20px;

display: inline-block;

color: #fff;

}

&:nth-child(2n) {

background-image: linear-gradient(120deg, #f6d365, #f6d365 75px, transparent 75px);

}

&:nth-child(2n+1) {

background-image: linear-gradient(120deg, #ff5858, #ff5858 75px, transparent 75px);

}

}


.loop(@n) when (@n >= 0) {

.loop(@n - 1);

.piece-@{n} {

transform: rotate(-30deg * (@n + 1));

}

}


.loop(11);

}

2.javascript实现转盘逻辑

由于转盘的转动是随机的,所以我们需要每次点击开始按钮都要随机生成一个角度,但是仔细分析一些平台会发现转盘每次都至少转动n圈后才会慢慢开始停下,所以我们会给转盘一个初始的角度,比如720deg,1080deg,这样能保证转盘至少转动n圈才停下来。

另一个注意点是我们要如何通过转动角度知道转盘停下来后的位置?这里处于性能问题,我们尽量不操作dom,通过数据控制,我们可以通过每次随机后得到的角度和单位扇形区域的弧度来计算停下来的位置,公式如下:

totalRadis = initRadis + radis * n + radis/2totalRadis为转动的角度,

initRadis为初始化角度,radis为扇形的角度,radis/2是中奖的范围,这里主要用来定位用的,n是随机数,接下来我将解释n的作用。

那么怎么实现随机角度呢?我们一般会想通过写个随机函数去做,不过这里有一种新的思路,就是通过随机生成中奖的位置来实现随机角度,由于我的扇形为30度,一共有12个扇形奖品区,所以索引为0-11。因此,上面讲到的n,就是我们的随机索引,我们只需要写个生成指定范围的随机数就可以了。

了解了以上知识,我们开始准备初始化数据:

// 转盘抽奖数据

var wards = ['1元', '2元', '3元', '5元', '再来',

'算法', '0.5元', '0.1元', '0.2元', '0.6元',

'0.5元', '来'];

渲染奖品数据,这里我们用了DocumentFragment,虽然对简单渲染没有必要,但是后期可能会很有用:

// 渲染dom

var fragment = document.createDocumentFragment();

for(var i=0, len = wards.length; i < len; i++) {

var piece = document.createElement('div');

piece.className = 'piece piece-' + i;

piece.innerHTML = '<span>' + wards[i] + '</span>';

fragment.appendChild(piece);

}


$('#piece_wrap')[0].appendChild(fragment);

生成指定范围的随机数的方法:

// 生成从 start到end的随机数

function randomArr(start, end) {

return Math.round(start + Math.random()* (end - start))

}

当我们点击开始按钮时,我将通过改变转盘的transform来让其运动起来:

// 转动逻辑

var radis = 30, // 每个扇形区域的度数

n = randomArr(0, 360/radis), // 计算随机中奖的位置

initRadis = 720, // 初始转动的角度

time = 16 * 1000, // 转动时间

once = true, // 限制一个转动周期只能点击一次

totalRadis = initRadis + radis * n + radis/2; // 转动角度计算公式

$('.start').on('click', function(){

if(once) {

once = false;

$('#piece_wrap').css({

'transform':'rotate(' + totalRadis + 'deg)',

'transition': 'transform 16s cubic-bezier(0,.47,.31,1.03)'

});

setTimeout(function(){

once = true;

alert('恭喜你抽中了' + wards[n] + '!');

$('#piece_wrap').css({

'transform':'rotate(' + 0 + 'deg)',

'transition': 'none'

});

}, time)

}


})

核心代码就这些,怎么样,是不是很简单呢?