仿微信抢红包(js转)

小角色Byme      2022-02-13     164

关键词:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>仿微信抢红包</title>
        <style>
            html,body,div{margin:0;padding:0;}
            body{background:#EAEAEA;font:16px/1.8 "微软雅黑";padding-bottom:20px}
            input{margin:0;display:inline-block;border:1px solid #ddd;padding:4px 2px;font-size:16px;font-family:"微软雅黑";margin-right: 5px;}
            input:focus{border-color:#3C9BD1;outline:none;}
            
            .wrap,.list { margin: 50px auto; width: 300px;}
            .title{   font-size: 42px;   color: #464646;text-align: center;}
            .line{height:40px;line-height:40px;text-align: center;}
            .btn{display:block;background:#3C9BD1;color:#fff;line-height: 40px;height:40px;text-align: center;width:200px;margin:0 auto;margin-top:50px;text-decoration: none;transition:all .3s linear;border-radius: 2px;}
            .btn:hover{opacity:.9;}
            .list{width:500px;border:1px solid #DBDBDB;padding:10px;BACKGROUND:#F5F5F5;text-align: center;}
            .list p span {color: red; padding: 0 8px;}
            .list p:empty{background: #000000;}
            .list:empty{display: none;}
            .link{position:fixed;height:20px;font-size: 12px;color:#999;text-align: center;width: 100%;bottom:0;line-height:20px;margin:0;padding:0;    background: #EAEAEA;padding:5px 0;}
            .link a{font-size:12px;color:#999;}
        </style>
    </head>
    <body>
        <h1 class="title">javascript实现仿微信抢红包</h1>
        <div class="wrap">
            <div class="line">红包个数:<input type="text" name="packetNumber" value="5" onkeyup="this.value=this.value.replace(/D/g,‘‘)" onafterpaste="this.value=this.value.replace(/D/g,‘‘)" maxlength="10">个</div>
            <div class="line">总&ensp;金&ensp;额:<input type="text" name="money" value="5" onkeyup="if(isNaN(value))execCommand(‘undo‘)" onafterpaste="if(isNaN(value))execCommand(‘undo‘)" maxlength="10">元</div>
            <div class="line"><a class="btn" href="javascript:;">发红包</a></div>
        </div>
        <div class="list"></div>
        <p class="link">参考<a target="_blank" href="https://www.zybuluo.com/yulin718/note/93148">《微信红包的架构设计简介》</a>文章</p>

<script>
 "use strict";

var _createClass = function() {
    function defineProperties(target, props) {
        for (var i = 0; i < props.length; i++) {
            var descriptor = props[i];
            descriptor.enumerable = descriptor.enumerable || false;
            descriptor.configurable = true;
            if ("value" in descriptor)
                descriptor.writable = true;
            Object.defineProperty(target, descriptor.key, descriptor);
        }
    }
    return function(Constructor, protoProps, staticProps) {
        if (protoProps)
            defineProperties(Constructor.prototype, protoProps);
        if (staticProps)
            defineProperties(Constructor, staticProps);
        return Constructor;
    }
    ;
}();

function _classCallCheck(instance, Constructor) {
    if (!(instance instanceof Constructor)) {
        throw new TypeError("Cannot call a class as a function");
    }
}

var MoneyPacket = function() {
    function MoneyPacket(packNumber, money) {
        _classCallCheck(this, MoneyPacket);
        
        this.min = 0.01;
        this.flag = true;
        this.packNumber = packNumber;
        this.money = money;
        if (!this.checkPackage()) {
            this.flag = false;
            return {
                "flag": this.flag
            };
        }
    }
    
    _createClass(MoneyPacket, [{
        key: "checkPackage",
        value: function checkPackage() {
            if (this.packNumber == 0) {
                alert("至少需要设置1个红包");
                return false;
            }
            if (this.money <= 0) {
                alert("红包总金额不能小于0");
                return false;
            }
            if (this.packNumber * this.min > this.money) {
                alert("单个红包金额不可低于0.01元");
                return false;
            }
            return true;
        }
    }]);
    
    return MoneyPacket;
}();

var getRandomMoney = function getRandomMoney(packet) {
    if (packet.packNumber == 0) {
        return;
    }
    if (packet.packNumber == 1) {
        var _lastMoney = Math.round(packet.money * 100) / 100;
        packet.packNumber--;
        packet.money = 0;
        return _lastMoney;
    }
    var min = 0.01
      , 
    max = packet.money / packet.packNumber * 2
      , 
    money = Math.random() * max;
    money = money < min ? min : money;
    money = Math.floor(money * 100) / 100;
    packet.packNumber--;
    packet.money = Math.round((packet.money - money) * 100) / 100;
    return money;
}
;

(function() {
    var oBtn = document.querySelector(".btn");
    var oList = document.querySelector(".list");
    
    oBtn.onclick = function() {
        var packetNumber = +document.querySelector("input[name=packetNumber]").value;
        var money = +document.querySelector("input[name=money]").value;
        var str = "";
        
        var packet = new MoneyPacket(packetNumber,money)
          , 
        num = packet.flag && packet.packNumber || 0;
        console.log("========================================================================");
        for (var i = 0; i < num; i++) {
            var _pack = getRandomMoney(packet);
            str += "<p>第<span>" + i + "</span>个红包:: <span>" + _pack.toFixed(2) + "</span>元&emsp;&emsp;==剩余红包:: <span>" + packet.money.toFixed(2) + "</span> 元<p>";
            console.log("第", i, "个红包::", _pack.toFixed(2), "元      ==剩余红包::", packet.money.toFixed(2), "元");
        }
        str !== "" && (oList.innerHTML = str);
    }
    ;
})();

</script>
    </body>
</html>

微信抢红包神器怎么用,微信抢红包神器图文使用方法

参考技术A微信抢红包神器,从名字中我们就可以知道,这是一款可以帮助我们更快的抢微信红包的软件,事实上的确如此。微信抢红包神器是一款自动抢红包软件,开启后只要有人在微信里发红包,它就会第第一时间通知你,... 查看详情

微信随机红包

<!DOCTYPEhtml><html> <head> <metacharset="UTF-8"> <title>仿微信抢红包</title> <style> html,body,div{margin:0;padding:0;} body{background:#EAEAEA;font:16px/1. 查看详情

微信抢红包

今晚就过年了,相信很多朋友在微信群能收到很多红包,但是过年可能吃的更重要。比如我~那么你需要如下一款软件。那就是让你在百忙之中,都不会错过任意一个红包,也就是微信的抢红包神器。我也是心血一热,想找个软... 查看详情

切西瓜法实现微信抢红包功能(代码片段)

运用切西瓜法和栅栏法实现微信抢红包功能✅前言☑️一、需求分析-分红包问题🆙二、实现版本1.版本一:切西瓜法2.版本二:栅栏法✳️三、在线Online🆗四、结束语🆚往期推荐✅前言在现实生活中,非... 查看详情

微信抢红包收支明细账单怎么列

参考技术A第一步:点击微信右下角【我】->【支付】;第二步:点击【钱包】;第三步:点击右上角【账单】,点击对应记录进入后即可查找到相关支付信息(如:交易时间、支付方式、交易单号等 参考技术B首先打开并登录... 查看详情

微信群抢红包神器自动抢最佳,微信群里面抢红包怎么抢到最佳?

参考技术A提起微信群抢红自动抢最佳,大家都知道,有人问什么软件在微信里面抢红包最好,而且是自动抢的,另外,还有人想问抢红包软件自动抢最佳是真的吗,你知道这是怎么回事?其实微信抢红怎么自动抢最佳红包,下... 查看详情

切西瓜法实现微信抢红包功能(代码片段)

运用切西瓜法和栅栏法实现微信抢红包功能✅前言☑️一、需求分析-分红包问题🆙二、实现版本1.版本一:切西瓜法2.版本二:栅栏法✳️三、在线Online🆗四、结束语🆚往期推荐✅前言在现实生活中,非... 查看详情

微信红包自动抢最佳抢红包神器1秒抢定全自动

参考技术A微信红包现在已经贯穿了大家的生活了,平时过年过节,小额转账都会用到微信红包这个东西,微信红包自动抢最佳的软件你尝试过吗?现在有很多公司会都这种类似于抢红1秒抢定全自动的app,这样可以迅速的吸引大... 查看详情

android进阶——android无障碍服务之accessibilityservice实现微信抢红包插件(代码片段)

前言在你的手机更多设置或者高级设置中,我们会发现有个无障碍的功能,很多人不知道这个功能具体是干嘛的,其实这个功能是为了增强用户界面以帮助残障人士,或者可能暂时无法与设备充分交互的人们它的... 查看详情

html5聊天案例|趣聊h5|仿微信界面聊天|红包|语音聊天|地图

之前有开发过一个h5微直播项目,当时里面也用到过聊天模块部分,今天就在之前聊天部分的基础上重新抽离模块,开发了这个h5趣聊项目,功能效果比较类似微信聊天界面。采用html5+css3+Zepto+swiper+wcPop+flex等技术融合开发,实现... 查看详情

微信红包0秒神器自动抢,有在微信群里自动抢红包神器吗?

参考技术A提起微信红包0秒神器自动抢,大家都知道,有人问怎么设置微信0秒抢红包,另外,还有人想问谁有红包自动秒抢神器,你知道这是怎么回事?其实有在微信群里从动抢红吗?下面就一起来看看有在微信群里自动抢红吗... 查看详情

android仿微信表情雨红包雨支持资源回收再利用(代码片段)

Github项目:https://github.com/JantHsueh/EmojiRain为了后续能及时看到更新,建议star一下,欢迎issue表情雨ViewGroup微信聊天中的表情雨效果一样。相比于其他项目的优点:本项目使用了资源缓存复用机制,在无限循环中... 查看详情

钉钉抢红包

Kido抢红包外挂本应用参(抄)考(袭)[CodeBoy的微信抢红包]-(利用AccessibilityService辅助功能),在其基础上加入了钉钉抢红包,同时做了一些小整改。可以帮助你自动抢微信红包、钉钉红包。自动抢红包大致流程捕捉notification的... 查看详情

如何让微信自动抢红包?

参考技术A设置微信自动抢红包如下工具:手机。1、首先需要打开辅助的软件,进入后点击开始按钮。2、接着去打开自动抢红包软件的服务功能,然后会跳转到手机的辅助功能页面,在服务一栏点击软件按钮。3、把开启服务的... 查看详情

(转)红包随机算法&微信群红包随机算法(代码片段)

通过这篇文章算是把微信群红包的算法弄明白了1.前言因疫情影响,部门2021年会以线上直播的形式进行,通过微信小程序展开。为活跃年会氛围,年会直播间会有抢红包环节。因产品要求,红包金额要随机生成... 查看详情

开挂是抢红包的工具吗

参考技术A什么开挂呀?我记得按键精灵安卓版上有一个QQ微信抢红包工具,是这种吗?你可以百度:按键精灵安卓版,里面就自带的 查看详情

android初学三之仿微信app实现对有recycleview的页面进行点击跳转设计(代码片段)

目录0实验环境1界面展示2功能说明3设计原理4核心代码4.1新建一个Activity类leimuActivity.java4.2在res/layout中增加一个布局配置文件leimu_tab.xml4.3修改AndroidManifest.xml,将leimuActivity添加进去4.4在res/values/strings中增加所用的字符串名称4.5修改... 查看详情

html5仿微信聊天界面微信朋友圈实例

这几天使用H5开发了一个仿微信聊天前端界面,尤其微信底部编辑器那块处理的很好,使用HTML5来开发,虽说功能效果并没有微信那么全,但是也相当不错了,可以发送消息、表情,发送的消息自动回滚定位到底部,另外可以对... 查看详情