【微信公众平台开发】微信幸运大转盘

需要js插件(下载包地址:http://download.csdn.net/detail/wyz365889/7798255):

jquery

jQueryRotate.2.2.js

jquery.easing.min.js

前端显示代码:

<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<meta name="viewport" content="width=device-width,height=device-height,inital-scale=1.0,maximum-scale=1.0,user-scalable=no;">
	<meta name="apple-mobile-web-app-capable" content="yes">
	<meta name="apple-mobile-web-app-status-bar-style" content="black">
	<meta name="format-detection" content="telephone=no">
	<meta name="description" content="微信">
	<meta http-equiv="Pragma" content="no-cache">
	<meta http-equiv="Cache-Control" content="no-cache">
	<meta http-equiv="Expires" content="0">
	<title>幸运大转盘</title>
	<style type="text/css">
		body,div,img {margin:0; padding:0; border:0 none;}
		#bg {background:url(img/bodybg.jpg) repeat scroll;}

		#outer {position:relative; width:100%; top:20px; margin-bottom:30px;}
		#disk {margin:0 auto; width:300px;height:300px; max-width:300px;}
		#disk img{ margin:0 auto;display:block; max-width:100%; }

		#inner {position:absolute; width:100%; top:107px;}
		#start {margin:0 auto; width:100px; height:104px; max-width:106px;}
		#start img {display:block; margin:0 auto; max-width:100%; }

		#set {background-color: #FEF8B2; border-radius: 5px; padding: 2px;}
	</style>

	<script type="text/javascript" src="JQM/jquery.js"></script>
	<script type="text/javascript" src="JQM/jQueryRotate.2.2.js"></script>
	<script type="text/javascript" src="JQM/jquery.easing.min.js"></script>

</head>

<body id="bg">
	<div class="luckywheel">
		<div id="outer">
			<div id="disk"><img src="img/disk.png" /></div>
		</div>

		<div id="inner">
			<div id="start"><img alt="start.png" src="img/start.png" id="startbtn"/></div>
		</div>

	</div>

	<div id="set">

	</div>

	<div id="explain">

	</div>
</body>
<script type="text/javascript">

$(function(){
	$("#startbtn").click(function(){
			alert("start");
			lottery();
		})
});
function lottery(){
    $.ajax({
        type: 'POST',
        url: 'dealdata.php',
        dataType: 'json',
        cache: false,
        error: function(){
            alert('出错了!');
            return false;
        },
        success:function(json){
            $("#startbtn").unbind('click').css("cursor","default");
            var a = json.angle; //角度
            var p = json.prizename; //奖项
            $("#startbtn").rotate({
                duration:3000, //转动时间
                angle: 0,
                animateTo:1800+a, //转动角度
                easing: $.easing.easeOutSine,
                callback: function(){
                    var con = confirm(p+'\n还要再来一次吗?');
                    if(con){
                        lottery();
                    }else{
                    	$("#startbtn").bind('click',lottery);
                        return false;
                    }
                }
            });
        }
    });
}
</script>
</html>

后台处理概率代码:

<?php
	$prizeinfo_arr = array(
		0 => array('id'=>1, 'min'=>array(347), 'max'=>array(13), 'prizename'=>'一等奖', 'gl'=>1),
		1 => array('id'=>2, 'min'=>array(107,227), 'max'=>array(133,253), 'prizename'=>'二等奖', 'gl'=>2),
		2 => array('id'=>3, 'min'=>array(47,167,287), 'max'=>array(73,193,313), 'prizename'=>'三等奖', 'gl'=>3),

		3 => array('id'=>4, 'min'=>array(17,77,137,197,257,317), 'max'=>array(43,103,163,223,283,343), 'prizename'=>'未中奖', 'gl'=>4),
	);

	foreach ($prizeinfo_arr as $key=>$val)
	{
		$glarr[$val['id']] = $val['gl'];
	}

	function getRand($glarr)
	{
		$glsum = array_sum($glarr);

		foreach ($glarr as $key=>$nowgl)
		{
			$randNum = mt_rand(1, $glsum);
			if($randNum <= $nowgl)
			{
				$getid = $key;
				unset($glarr);
				return $getid;
			}
			else
			{
				$glsum -= $nowgl;
			}
		}
	}

	$glid = getRand($glarr); //获取中奖随机概率的id
	$res = $prizeinfo_arr[$glid-1];
	$min = $res['min'];
	$max = $res['max'];

	if($res['id'] == 4)
	{
		$i = mt_rand(0, 5);
		$prizeinfo['angle'] = mt_rand($min[$i], $max[$i]);
	}
	if($res['id'] == 1)
	{
		$prizeinfo['angle'] = mt_rand($min, $max);
	}
	else
	{
		$i = mt_rand(0, 1);
		$prizeinfo['angle'] = mt_rand($min[$i], $max[$i]);
	}

	$prizeinfo['prizename'] = $res['prizename'];

	echo json_encode($prizeinfo);
?>

效果图:

【微信公众平台开发】微信幸运大转盘

时间: 2024-10-12 22:15:33

【微信公众平台开发】微信幸运大转盘的相关文章

微信公众平台开发--微信网页授权

在微信公众号开发中实现微信用户自动登陆第三方的功能: 条件: 1.公众号必须为微信认证服务号: 2.在公众号接口权限->网页账号 网页授权获取用户基本信息 修改需要OAuth2.0鉴权的域名: 关于网页授权的两种scope的区别说明 以snsapi_base为scope发起的网页授权,静默授权,不弹出授权页面,只能获取微信用户的openid. 以snsapi_userinfo为scope发起的网页授权,弹出授权页面,可通过openid拿到昵称.性别.所在地.并且,即使在未关注的情况下,只要用户授

微信公众平台开发 微信JSSDK开发

根据微信开发文档步骤如下: 1.先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”. JS接口安全域名设置 mi.com(前面不用带www/http,域名必须备案过) 2.引入JS文件在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.0.0.js 3.通过config接口注入权限验证配置 wx.config({ debug: true, // 开启调试模式,调用的所有api的返回值

微信公众平台开发——微信授权登录(OAuth2.0)

1.OAuth2.0简介 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. 允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据.每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某一相册中的视频).这样,OAuth允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要分享他们

微信公众平台开发 - 微信支付

(境内普通商户版)微信支付有着几种不同的支付方式 官方文档写的很详细,下面记录一下文档没提的细节,容易混淆 1.刷卡支付 2.公众号支付 即 微信内H5调起支付 ,使用的是微信的JSSDK,但是和微信网页开发的 JS-SDK是不一样的. 微信网页开发需要引入 http://res.wx.qq.com/open/js/jweixin-1.2.0.js 文件,然后使用配置的方式来进行相关接口的调用: 而H5调起支付不需要引入文件,调用方式也不同,且 注入权限验证配置的参数也多一些. SDK与DEMO

微信公众平台开发——群发信息

1.目的 完成在微信公众号中群发消息.这里只是完成简单的文字发送.也可以发送语音图片等,只是发送数据格式不同而已,下面有链接,可以查询数据类型的数据发送格式. 2.群发短信的流程 获取测试公众账号(有账号的可以不用测试账号,不过正式的账号限制比较多) 用户关注上面的公众账号 通过appid和appsecret获取我们的access_token 通过access_token群发短信 3.获取测试公众账号 + 关注公众号 1).公众测试账号获取 访问上面的连接,选择“接口测试号申请”获得直接打开ht

微信公众平台开发(57)Emoji表情符号 【转发】

微信公众平台开发(57)Emoji表情符号 微信公众平台开发 微信公众平台开发模式 企业微信公众平台 Emoji表情符号 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/crack-golden-eggs.html 一 什么是Emoji emoji就是表情符号:词义来自日语(えもじ,e-moji,moji在日语中的含义是字符)表情符号现已普遍应用于手机短信和网络聊天软件.emoji表情符号,在外国的手机短信里面已经是很流行使用的一种表情. 在国内的微信和

微信公众平台开发(57)Emoji表情符号

微信公众平台开发 微信公众平台开发模式 企业微信公众平台 Emoji表情符号 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/crack-golden-eggs.html 一 什么是Emoji emoji就是表情符号:词义来自日语(えもじ,e-moji,moji在日语中的含义是字符)表情符号现已普遍应用于手机短信和网络聊天软件.emoji表情符号,在外国的手机短信里面已经是很流行使用的一种表情. 在国内的微信和微信中也被采用. Emoji 全编码表:ht

[c#]asp.net开发微信公众平台(8)微信9大高级接口,自定义菜单

前7篇把最基础的消息接收和回复全做完了,  也把高级接口的入口和分拆处理写好了空方法,  此篇接着介绍微信的9大高级接口, 并着重讲解其中的自定义菜单. 微信9大接口为: 1.语音识别接口 2.客服接口 3.OAuth2.0 网页授权接口 4.生成带参数的二维码接口 5.获取用户地理位置接口 6.获取用户基本信息接口 7.获取关注者列表接口 8.用户分组接口 9.上传下载多媒体文件接口 具体介绍: 1. 语音识别 功能描述:通过语音识别接口,用户发送的语音,将同时给出语音识别出的文本内容. 实用

微信公众平台开发入门教程(图文)

关键字:微信公众平台开发入门 作者:C++研究室 背景知识:微信公众平台的开发需要有一定的PHP基础知识,PHP是一种HTML内嵌式的语言,广泛用于网站开发.微信服务器和开发者的服务器间有两种数据传输方式,分别是XML和JSON.其中XML主要用在接受发送普通消息和事件推送中,而用户管理.创建自定义菜单和高级群发等则需要用到JOSN格式数据. 在这篇微信公众平台开发教程中,你可以跟着教程一起在整体上感性了解微信公众平台的开发框架,可以帮助你更好的去入手. 我们将使用微信公众账号西安校园创客空间作