目前最为流行的微信游戏了,就是抽奖活动,下面我看一站长整理了这款抽奖源码出来,下面我也转过来与各位朋友分享。
在做微信的过程中用到了微信抽奖,看了其他的作者都只是吧微信抽奖的页面共享出来了。我现在把转盘抽奖程序和微信抽奖页面都共享出来,有需要的自己把两者组合一下即可。
部份源码:配置文件
 代码如下             复制代码         
 'mysql',
              'db_host' => '127.0.0.1',
              'db_name' => 'ites',
              'db_user' => 'root',
              'db_pwd' => '111111',
              'db_port' => 3306,
              'db_prefix' => 'it_',
              'app_debug' => 1,
              'show_error_msg' => 1,
              'show_page_trace' => 1,
              'data_cache_type' => 'redis',
              'redis_host' => '127.0.0.1',
              'redis_port' => 6379,
              'data_cache_time' => 3600,
              'url_case_insensitive' => true,
              'tmpl_strip_space' => false,
              'url_html_suffix' => '',
              'site_name' => '11111',
              'site_url' => 'http://www.111cn.net/',
              'wechat_token' => '你的',
              'wechat_appid' => '你的',
              'wechat_appsecret' => '你的',
              'data_auth_key' => 'abcdddd',
            );
            ?>
commond.php文件
 代码如下             复制代码         
             6 && preg_match(/^[w-.]+@[w-.]+(.w+)+$/, $email);
            }
            /**
             * 发送http请求方法,目前只支持curl发送请求
             * @param  string $url    请求url
             * @param  array  $params 请求参数
             * @param  string $method 请求方法get/post
             * @return array  $data   响应数据
             */
            function http($url, $params, $method = 'get', $header = array(), $multi = false){
             $opts = array(
               curlopt_timeout        => 30,
               curlopt_returntransfer => 1,
               curlopt_ssl_verifypeer => false,
               curlopt_ssl_verifyhost => false,
               curlopt_httpheader     => $header
             );
             /* 根据请求类型设置特定参数 */
             switch(strtoupper($method)){
              case 'get':
               $opts[curlopt_url] = $url . '?' . http_build_query($params);
               break;
              case 'post':
               //判断是否传输文件
               //$params = $multi ? $params : http_build_query($params);
               $opts[curlopt_url] = $url;
               $opts[curlopt_post] = 1;
               $opts[curlopt_postfields] = $params;
               break;
              default:
               throw new exception('不支持的请求方式!');
             }
             /* 初始化并执行curl请求 */
             $ch = curl_init();
             curl_setopt_array($ch, $opts);
             $data  = curl_exec($ch);
             $error = curl_error($ch);
             curl_close($ch);
             if($error) throw new exception('请求发生错误:' . $error);
             return  $data;
            }
            /**
             * 不转义中文字符和/的 json 编码方法
             * @param array $arr 待编码数组
             * @return string
             */
            function jsencode($arr) {
             $str = str_replace ( \/, /, json_encode ( $arr ) );
             $search = #\u([0-9a-f]+)#ie;
if (strpos ( strtoupper(php_os), 'win' ) === false) {
              $replace = iconv('ucs-2be', 'utf-8', pack('h4', '\1'));//linux
             } else {
              $replace = iconv('ucs-2', 'utf-8', pack('h4', '\1'));//windows
             }
return preg_replace ( $search, $replace, $str );
            }
            // 数据保存到文件
            function data2file($filename, $arr=''){
             if(is_array($arr)){
              $con = var_export($arr,true);
              $con = ;
             } else{
              $con = $arr;
              $con = ;
             }
             write_file($filename, $con);
            }
            /**
             * 系统加密方法
             * @param string $data 要加密的字符串
             * @param string $key  加密密钥
             * @param int $expire  过期时间 单位 秒
             * @return string
             * @author winky
             */
            function encrypt($data, $key = '', $expire = 0) {
                $key  = md5(empty($key) ? c('data_auth_key') : $key);
                $data = base64_encode($data);
                $x    = 0;
                $len  = strlen($data);
                $l    = strlen($key);
                $char = '';
                for ($i = 0; $i                     if ($x == $l) $x = 0;
                    $char .= substr($key, $x, 1);
                    $x++;
                }
                $str = sprintf('%010d', $expire ? $expire + time():0);
                for ($i = 0; $i                     $str .= chr(ord(substr($data, $i, 1)) + (ord(substr($char, $i, 1)))%256);
                }
                return str_replace(array('+','/','='),array('-','_',''),base64_encode($str));
            }
            /**
             * 系统解密方法
             * @param  string $data 要解密的字符串 (必须是encrypt方法加密的字符串)
             * @param  string $key  加密密钥
             * @return string
             * @author winky
             */
            function decrypt($data, $key = ''){
                $key    = md5(empty($key) ? c('data_auth_key') : $key);
                $data   = str_replace(array('-','_'),array('+','/'),$data);
                $mod4   = strlen($data) % 4;
                if ($mod4) {
                   $data .= substr('====', $mod4);
                }
                $data   = base64_decode($data);
                $expire = substr($data,0,10);
                $data   = substr($data,10);
                if($expire > 0 && $expire                     return '';
                }
                $x      = 0;
                $len    = strlen($data);
                $l      = strlen($key);
                $char   = $str = '';
                for ($i = 0; $i                     if ($x == $l) $x = 0;
                    $char .= substr($key, $x, 1);
                    $x++;
                }
                for ($i = 0; $i                     if (ord(substr($data, $i, 1))                        $str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1)));
                    }else{
                        $str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1)));
                    }
                }
                return base64_decode($str);
            }
            function gettaskstatusstr($status = 0,$type = 'apply' , $company = ''){
             if ($type == 'comment') return '尚未作出评价';
             switch ($status) {
              case 0:
               return $type == 'apply' ? '已发出任务申请' : $company.'对你发出了任务邀请';
              break;
              case 1:
               return $type == 'apply' ? '企业已通过申请' : '已同意企业的邀请';
              break;  
              case 2:
               return $type == 'apply' ? '企业已忽略你的申请' : '你已经忽略企业的邀请';
              break;
              case 3:
               return $type == 'apply' ? '你已完成该任务' : '该任务已经完成';
              break;  
              default:
               return '未知的状态';
              break;
             }
            }
function getarea($cache = true){
             $area = s ( 's_area' );
             if (empty ( $area ) || ! $cache) {
              // 缓存不存在,或者参数读取缓存。
              $areamodel = d('area');
              $area = $areamodel -> where ('status = 3')->order ( 'sort,itemid' )->getfield('itemid,title,pid,arrparentid,child');
              //把市的省拚出来
              foreach ($area as $k=>$v){
               //如果是顶级
               if ($v['pid']==0){
                $areaarr[$v['itemid']]['itemid'] = $v['itemid'];
                $areaarr[$v['itemid']]['title'] = $v['title'];
                $areaarr[$v['itemid']]['pid'] = $v['pid'];
                $areaarr[$v['itemid']]['arrparentid'] = $v['arrparentid'];
                $areaarr[$v['itemid']]['child'] = $v['child'];
                //上级
                $areaarr[$v['itemid']]['upitemid'] = $v['itemid'];
                $areaarr[$v['itemid']]['uptitle'] = $v['title'];
               }
               //查出上级的名称和id
               else {
                $areaarr[$v['itemid']]['itemid'] = $v['itemid'];
                $areaarr[$v['itemid']]['title'] = $v['title'];
                $areaarr[$v['itemid']]['pid'] = $v['pid'];
                $areaarr[$v['itemid']]['arrparentid'] = $v['arrparentid'];
                $areaarr[$v['itemid']]['child'] = $v['child'];
                //上级
                $areaarr[$v['itemid']]['upitemid'] = $area[$v['pid']]['itemid'];
                $areaarr[$v['itemid']]['uptitle'] = $area[$v['pid']]['title'];
               }
              }
              $area = $areaarr;
              s ( 's_area' , $area );
             }
             return $area;
            }
            ?>
源码下载地址
http://file.111cn.net/upload/2014/3/wx.rar
   
 
   