微信小程序 聚合摇骰喝酒工具 完整实现(含源码)

效果:搜索 聚合摇骰喝酒

前言

本文从零实现一款聚会喝酒聚合小程序,包含:摇骰子、大话骰、罚酒转盘、真心话大冒险 4 大核心功能。技术栈:原生微信小程序 + JS + CSS 动画,无后端、无云开发,个人可直接上线。适合场景:KTV、饭局、团建、宿舍聚会,点开即玩,无需下载。

一、项目结构

复制代码
├── pages
│   ├── index        // 首页(功能入口)
│   ├── dice         // 摇骰子
│   ├── dahua        // 大话骰
│   ├── wheel        // 罚酒转盘
│   └── truth        // 真心话大冒险
├── utils
│   └── common.js    // 公共工具函数
├── app.js
├── app.json
└── app.wxss

二、app.json 配置(直接复制)

复制代码
{
  "pages": [
    "pages/index/index",
    "pages/dice/dice",
    "pages/dahua/dahua",
    "pages/wheel/wheel",
    "pages/truth/truth"
  ],
  "window": {
    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#2b2b2b",
    "navigationBarTitleText": "喝酒摇骰神器",
    "navigationBarTextStyle": "white",
    "backgroundColor": "#1a1a1a"
  },
  "sitemapLocation": "sitemap.json"
}

三、核心功能 1:摇骰子(完整源码)

pages/dice/dice.wxml

复制代码
<view class="container">
  <view class="title">摇骰子</view>
  <view class="dice-box" bindtap="rollDice">
    <view class="dice">{{num}}</view>
  </view>
  <view class="tip">点击屏幕开始摇</view>
  <view class="drink">罚酒:{{tipText}}</view>
</view>

pages/dice/dice.wxss

复制代码
.container{padding:30rpx;color:#fff;background:#1a1a1a;min-height:100vh;}
.title{font-size:36rpx;text-align:center;margin-bottom:60rpx;}
.dice-box{display:flex;align-items:center;justify-content:center;margin:60rpx 0;}
.dice{width:120rpx;height:120rpx;background:#fff;border-radius:12rpx;
  display:flex;align-items:center;justify-content:center;color:#000;font-size:48rpx;}
.tip{text-align:center;margin:20rpx 0;color:#999;}
.drink{text-align:center;color:#ff4444;font-size:32rpx;margin-top:30rpx;}

pages/dice/dice.js(核心源码)

复制代码
Page({
  data: {
    num: 1,
    tipText: '点击开始'
  },

  rollDice() {
    let that = this;
    let count = 0;
    let timer = setInterval(() => {
      let rand = Math.floor(Math.random() * 6) + 1;
      that.setData({ num: rand });
      count++;
      if (count > 15) {
        clearInterval(timer);
        that.getResult(that.data.num);
      }
    }, 60);
  },

  getResult(num) {
    let arr = [
      '没事',
      '喝一口',
      '喝半杯',
      '喝一杯',
      '找一人陪喝',
      '全桌喝'
    ];
    this.setData({ tipText: arr[num - 1] });
  }
})

四、核心功能 2:罚酒转盘(完整源码)

pages/wheel/wheel.wxml

复制代码
<view class="container">
  <view class="title">罚酒大转盘</view>
  <view class="wheel-box">
    <image src="/images/wheel.png" mode="widthFix" style="transform:rotate({{angle}}deg)"></image>
  </view>
  <button bindtap="startSpin">开始转动</button>
  <view class="result">{{result}}</view>
</view>

pages/wheel/wheel.js

复制代码
Page({
  data: {
    angle: 0,
    result: '等待结果'
  },

  startSpin() {
    let randAngle = 1800 + Math.floor(Math.random() * 1800);
    this.setData({ angle: randAngle });

    setTimeout(() => {
      let list = ['喝一口', '喝半杯', '喝一杯', '免罚', '找朋友喝', '全桌喝'];
      let res = list[Math.floor(Math.random() * list.length)];
      this.setData({ result: '结果:' + res });
    }, 3000);
  }
})

五、核心功能 3:真心话大冒险(源码)

pages/truth/truth.js

复制代码
Page({
  data: {
    content: '点击开始'
  },

  getOne() {
    let list = [
      '真心话:你谈过几次恋爱?',
      '真心话:最尴尬的一件事?',
      '大冒险:和左边的人喝一杯',
      '大冒险:唱一句歌',
      '喝一口',
      '免罚'
    ];
    this.setData({
      content: list[Math.floor(Math.random() * list.length)]
    })
  }
})

六、首页导航(index)

pages/index/index.wxml

复制代码
<view class="menu">
  <view bindtap="goDice">🎲 摇骰子</view>
  <view bindtap="goWheel">🎡 罚酒转盘</view>
  <view bindtap="goTruth">🗣 真心话大冒险</view>
  <view bindtap="goDahua">🎭 大话骰</view>
</view>

pages/index/index.js

复制代码
Page({
  goDice(){wx.navigateTo({url:'/pages/dice/dice'})},
  goWheel(){wx.navigateTo({url:'/pages/wheel/wheel'})},
  goTruth(){wx.navigateTo({url:'/pages/truth/truth'})},
  goDahua(){wx.navigateTo({url:'/pages/dahua/dahua'})},
})

七、实现流程总结

1. 需求分析

聚合酒局高频工具:摇骰、转盘、真心话、大话骰,满足聚会所有场景。

2. 界面设计

深色主题 + 大按钮 + 简单交互,适合酒局灯光暗、快速操作。

3. 功能实现

  • 摇骰子:随机数 + 动画模拟滚动
  • 转盘:CSS rotate 旋转 + 随机结果
  • 真心话:数组随机抽取
  • 大话骰:多人逻辑 + 点数判断

4. 上线注意

  • 类目选:工具 - 娱乐
  • 简介不能出现赌博、金钱
  • 个人主体可直接上线
相关推荐
2501_9159090613 小时前
iOS 应用反调试技详解术 检测调试器的原理与防护实践
android·ios·小程序·https·uni-app·iphone·webview
00后程序员张16 小时前
iOS加固技术路线全面解析:Bitcode模式、源码模式与汇编模式对比及爱加密优势
android·汇编·ios·小程序·uni-app·cocoa·iphone
海纳百川·纳海川16 小时前
租房行业数字化:换个思路解决“老问题”
大数据·微信小程序·小程序
上海云盾-小余1 天前
CC 高频请求 + DDoS 流量攻击实战防御:全链路 WAF 流量清洗部署完整流程
网络·爬虫·安全·小程序·ddos
2501_916008891 天前
iOS IPA文件反编译与打包操作方法,拆包分析防护和加固打包
android·macos·ios·小程序·uni-app·cocoa·iphone
2301_810313181 天前
海外教育APP定制发展现状与开发选型核心要点解析
小程序·团队开发·软件需求
2501_915921432 天前
iOS手游安全反外挂解决方案:基于Xcode的加固混淆特色详解
android·安全·ios·小程序·uni-app·iphone·xcode
禾高网络2 天前
回收小程序在环保和商业领域发挥更大的作用
java·大数据·人工智能·小程序
2501_916007472 天前
iOS App分发教程 App Store、TestFlight 与 Ad Hoc 的配置与上传方法
android·ios·小程序·https·uni-app·iphone·webview
JasonMa1532 天前
从零搭建一个微信小程序活动管理平台(一):架构设计与技术选型
javascript·微信小程序·node.js