微信小程序项目实例——幸运大转盘

article/2025/1/9 17:10:15

微信小程序项目实例——幸运大转盘

文章目录

  • 微信小程序项目实例——幸运大转盘
  • 一、项目展示
  • 二、抽奖页
  • 三、领奖页
  • 文末:项目代码

项目代码见文字底部,点赞关注有惊喜


一、项目展示

幸运大转盘是一个简单的抽奖小程序
参与用户点击抽奖便可抽取轮盘的奖品
在这里插入图片描述


二、抽奖页

抽奖页是一个大轮盘和活动规则
页面形式简单
主要核心在于轮盘

核心代码【轮盘旋转】如下:

 getLottery: function () {var that = thisvar awardIndex = Math.random() * 6 >>> 0;// 获取奖品配置var awardsConfig = app.awardsConfig,runNum = 8if (awardIndex < 2) awardsConfig.chance = falseconsole.log(awardIndex)// 旋转抽奖app.runDegs = app.runDegs || 0console.log('deg', app.runDegs)app.runDegs = app.runDegs + (360 - app.runDegs % 360) + (360 * runNum - awardIndex * (360 / 6))console.log('deg', app.runDegs)var animationRun = wx.createAnimation({duration: 4000,timingFunction: 'ease'})that.animationRun = animationRunanimationRun.rotate(app.runDegs).step()that.setData({animationData: animationRun.export(),btnDisabled: 'disabled'})// 绘制转盘var awardsConfig = app.awardsConfig.awards,len = awardsConfig.length,rotateDeg = 360 / len / 2 + 90,html = [],turnNum = 1 / len  // 文字旋转 turn 值that.setData({btnDisabled: app.awardsConfig.chance ? '' : 'disabled'  })var ctx = wx.createContext()for (var i = 0; i < len; i++) {// 保存当前状态ctx.save();// 开始一条新路径ctx.beginPath();// 位移到圆心,下面需要围绕圆心旋转ctx.translate(150, 150);// 从(0, 0)坐标开始定义一条新的子路径ctx.moveTo(0, 0);// 旋转弧度,需将角度转换为弧度,使用 degrees * Math.PI/180 公式进行计算。ctx.rotate((360 / len * i - rotateDeg) * Math.PI/180);// 绘制圆弧ctx.arc(0, 0, 150, 0,  2 * Math.PI / len, false);// 颜色间隔if (i % 2 == 0) {ctx.setFillStyle('rgba(255,184,32,.1)');}else{ctx.setFillStyle('rgba(255,203,63,.1)');}// 填充扇形ctx.fill();// 绘制边框ctx.setLineWidth(0.5);ctx.setStrokeStyle('rgba(228,55,14,.1)');ctx.stroke();// 恢复前一个状态ctx.restore();// 奖项列表html.push({turn: i * turnNum + 'turn', lineTurn: i * turnNum + turnNum / 2 + 'turn', award: awardsConfig[i].name});    }

其他相关代码见文章底部

效果如下:

在这里插入图片描述


三、领奖页

领奖页是对获奖的信息进行罗列


<view class="top"><image class="userinfo-avatar" src="{{head}}" background-size="cover"></image><text style="font-size:40rpx">失散多年的哥哥</text>
</view><view class="mid"><button bindtap="gotoLottery" type="primary" style="width:600rpx;background-color:#D75858">去抽奖</button>
</view><view class="txt"><text wx:if="{{awardsList.length > 0}}">恭喜您获得了以下奖品:</text><text wx:if="{{awardsList.length == 0}}">您还中奖,快去抽奖吧</text>
</view><view class="gift" wx:for="{{awardsList}}" wx:key="unique"><text style="font-size:34rpx;margin-left:30rpx">{{item}}</text>
</view>

在这里插入图片描述

文末:项目代码

点击下载

在这里插入图片描述


http://chatgpt.dhexx.cn/article/IpENGWpS.shtml

相关文章

微信小程序项目实例——狼人杀

微信小程序项目实例——狼人杀 文章目录 微信小程序项目实例——狼人杀一、项目展示二、首页三、游戏页四、特殊角色文末 项目代码见文字底部&#xff0c;点赞关注有惊喜 一、项目展示 狼人杀是一款多人参与的&#xff0c;通过语言描述推动、较量口才和分析判断能力的策略类桌…

project实操——项目实例

1. 新建项目 2. 设置项目日历 可以设置每周工作几天&#xff0c;每天工作几小时 点击 项目 -> 更改工作时间 在弹出窗口上&#xff0c;选择下方的“”工作周“选项卡&#xff0c;点击右侧的【详细信息】按钮 系统打开的详细信息窗口上&#xff0c; 选中左侧列表中的“周六…

Android Studio同步远程Git代码到本地

前一篇文件说如何将本地代码同步到远程Git服务器&#xff08;将代码同步到远程Git服务器&#xff09;&#xff0c;这篇说说如何在Android Studio中将远程代码同步到本地。 环境说明&#xff1a; 1、本地需要安装有git环境 2、Android Studio 3、存放项目的远程服务器地址&a…

git 同步远程和本地的同名分支

首先正常创建一个本地仓库&#xff0c;添加内容&#xff0c;跟远程关联 git init git add . git commit -m "" git remote add origin 远程仓库地址 如果在本地创建了一个新的分支 git checkout -b branch_one 然后将该分支直接推动到远程进行同步 git push -u …

使用git 实现本地文件和远程代码仓的互相同步

一、关于Git的安装与配置&#xff0c;可以参考这两篇文章 Git 详细安装教程&#xff08;详解 Git 安装过程的每一个步骤&#xff09; GitHub的安装与配置 二、同步本地文件与代码仓常规流程 1、在github上创建项目2、使用git clone https://github.com/xxxxxxx/xxxxx.git 克…

git(实现代码存档和同步)

远程仓库就是github&#xff0c;码云这些之类的&#xff0c;所有人都以远程仓库的文件作为最新版本 每个人都有自己的工作区&#xff08;本地电脑里面的一个文件夹&#xff09;&#xff0c;每个人都可以用clone把最新版本的文件复制到本地 比如我现在有四个文件&#xff0c;但…

[Git] 本地代码库和远程同步

一 前言 这本来不是一个很严重的问题, 有很多办法可以处理, 但是对于Git新手来说, 会觉得非常可怕, 因为不知道怎么恢复之前的状态, 不知道当前状态上传上去会造成什么影响, 最怕的是影响到master之类的主分支, 然后把别人的工作搞丢, 那就完蛋了. 我刚开始接触Git的时候, 上…

git操作之同步代码到仓库

1、先创建一个仓库&#xff0c;然后把创建的空仓库克隆到本地&#xff1b;2、把程序拷贝到本地的仓库中&#xff0c;然后再进行下列操作&#xff1b;&#xff08;1&#xff09;git add . 保存全部内容&#xff08;2&#xff09;git commit -m "项目描述"(3) git pu…

如何将git服务器同步到本地文件夹,使用git在服务器上部署git仓库并实现提交代码时同步代码到生产环境...

最近由于需要对正在运行的系统进行新功能添加&#xff0c;本来是可以通过github进行代码维护&#xff0c;但是由于这个项目涉及一些问题&#xff0c;目前还不能开源&#xff0c;所以只能是手动覆盖bug文件&#xff0c;生产环境上的代码反而是最新的了。 之前有个思路&#xff0…

git 项目代码上传到服务器上,git 上传代码到服务器

一、建立本地git仓库 1、cd到你项目根目录下 git init 二、将本地所有文件添加到暂存区 git add . . 表示所有文件 如果想添加项目中的指定文件,那就把.改为指定文件名或者目录即可,多个目录用空格隔开 三、将暂存区的文件提交到本地仓库 git commit -m 注释 四、在码云上创建…

git如何拉去开发的 最新代码_git拉取代码到本地

git拉取代码到本地的方法是:首先打开git命令窗口,输入命令【git clone github仓库地址】;然后回车即可拉取代码到本地仓库。 第一步:拉取远程代码git clone https://github.com/…/PrettyGirls.git 第二步:查看本地分支和远程分支1、cd PrettyGirls 到工程目录下; 2、git…

git配置及同步项目代码到本地

长久不用git发现自己都忘记了。。。在此记录下git配置&#xff0c;以便日后查看。 git配置 配置本地仓库账号和邮箱 git config --global user.name "YourName" git config --global user.email "your-emailexample.com"生成ssh密钥 ssh-keygen -t rsa -…

Git克隆仓库代码至本地

目录 1、本地新建文件夹&#xff1a; 2、文件夹右击&#xff0c;点击&#xff1a;Git Bash Here 3、本地仓库初始化&#xff0c;输入&#xff1a;git init 4、复制仓库代码地址 5、代码克隆&#xff0c;输入&#xff1a;git clone 复制的地址 6、打开文件夹&#xff0c;…

Git代码拉取与同步

1、git clone [email protected]:xxx/xxx.git 2、git checkout -b dev origin/dev 创建本地dev分支 并与远程dev分支关联 3、git remote add upstream 远程公库地址 关联到远程的公库 4、git pull upstream dev 从远程公库拉取dev分支代码 远程公库新建了bug分支&#xff…

在WebStorm里面搜索文件中出现的中文字符

ctrfF或者ctflshiftF 搜索[\u0100-\uffff]

处理webStorm中文字体样式大小不一,难看的问题

修改前样式&#xff1a; 修改后样式&#xff1a; 具体操作设置如下: File→Settings→Appearance & Behavior→Appearance&#xff0c;Theme 选择Darcula&#xff08;主题可自行选择&#xff09; File→Settings→Editor→Font&#xff0c; Font 选择Consolas&#xff…

WebStorm安装教程【2022年新版图解】

对于入门JavaScript 开发的者&#xff0c;最重要的就是安装WebStorm软件&#xff0c;一款非常优秀的JavaScript工具&#xff0c;在互联网上查询目前还没有一篇写得比较详细的WebStorm教程。今天我将使用WebStorm最新2022年版本&#xff0c;从下载到安装以及创建项目带大家完整的…

关于webstorm中TS如何设置中文提示

如下图所示&#xff0c;默认提示为英文 如果需要切换为中文提示&#xff0c;可按如下操作&#xff1a; 在选项中输入参数&#xff1a;--locale zh-CN&#xff0c;然后重启webstorm。 让我们来看看效果&#xff1a; 大功告成&#xff01;✌️

NodeJS + WebStorm 中文显示乱码

当使用 WebStorm 运行 NodeJS 代码时&#xff0c; 使用 response.write 有中文的时候&#xff0c;会显示乱码&#xff0c;如下图&#xff1a; server.on(request,function (request, response) {console.log(收到客户端的请求了&#xff0c;请求路径是&#xff1a; request.u…

webstorm的中文教程和技巧分享

webstorm是一款前端javascript开发编辑的神器&#xff0c;此文介绍webstorm的中文教程和技巧分享。webstorm8.0.3中文汉化版下载&#xff1a;百度网盘下载&#xff1a;http://pan.baidu.com/s/1pJI9PMVWebStorm为前端javascript开发而生&#xff0c;专门为 javascript开发做了很…