Article Detail

微信摇一摇统计次数微官网

model = $this->getModel ( 'yaoyiyao' ); parent::_initialize (); $act = strtolowe...

PHP 阅读 134万 5 分钟阅读 2017-07-07 12:04
GDScript3
57 行
<?php

namespace Addons\Yaoyiyao\Controller;
use Home\Controller\AddonsController;

class YaoyiyaoController extends AddonsController{
	var $model;
	function _initialize() {
		$this->model = $this->getModel ( 'yaoyiyao' );
		parent::_initialize ();
		$act = strtolower ( _ACTION );
		$type = I ( 'type' );
		
		$res ['title'] = '列表';
		$res ['url'] = addons_url ( 'Yaoyiyao://Yaoyiyao/lists' );
		$res ['class'] = $act == 'lists' || $type == 'text' ? 'current' : '';
		$nav [] = $res;
		
		$res ['title'] = '设置';
		$res ['url'] = addons_url ( 'Yaoyiyao://Yaoyiyao/config' );
		$res ['class'] = $act == 'config' || $type == 'config' ? 'current' : '';
		$nav [] = $res;
		
		$res ['title'] = '清零';
		$res ['url'] = addons_url ( 'Yaoyiyao://Yaoyiyao/dc' );
		$res ['class'] = $act == 'dc' || $type == 'dc' ? 'current' : '';
		$nav [] = $res;
		
		$this->assign ( 'nav', $nav );
	}
		public function dc() {
			if($_GET['del']=='ok'){
				$map['numm']=0;
				$mapw['id']=array('gt',0);
				M('yaoyiyao')->where($mapw)->save($map);
				header('Location:/index.php?s=/addon/Yaoyiyao/Yaoyiyao/lists.html');
				exit;
			}
			$templateFile = $this->model ['template_list'] ? $this->model ['template_list'] : '';
			$this->display ( $templateFile );
		}
	// 通用插件的列表模型
	public function lists() {
		$map ['token'] = get_token ();
		$list_data = $this->_get_model_list ( $this->model,0,'numm desc' );
		foreach($list_data['list_data'] as &$lv){
			$lk++;
			if($_GET['p']<2) $_GET['p']=0;
			$lkn=$lk+($_GET['p']*10);
			$lv['user']=$lv['user'].' (第'.$lkn.'名)';
		}
		
		$this->assign ( $list_data );
		$templateFile = $this->model ['template_list'] ? $this->model ['template_list'] : '';
		$this->display ( $templateFile );
	}
}
Comments 评论区
广西南宁市 2017-07-07 12:04

config.html

GDScript3
222 行
<extend name="Base/common" />
<block name="body">
<script src="/yaoyiyao/laydate/laydate.js"></script>
<div class="span9 page_message">
	<section id="contents">
      <include file="Addons/_nav" />
      
      <div class="tab-content has-weixinpreivew"> 
      
        <form action="{:U('config')}" class="form-horizontal fl" method="post">
            <empty name="custom_config">
                <foreach name="data['config']" item="form" key="o_key">
                    <div class="form-item cf">
                        <label class="item-label">
                            {$form.title|default=''}
                            <present name="form.tip">
                                <span class="check-tips">{$form.tip}</span>
                            </present>
                        </label>
                            <switch name="form.type">
                                <case value="text">
                                <div class="controls">
                                    <input id="cardName{$o_key}" type="text" name="config[{$o_key}]" class="text input-large" value="{$form.value}">
                                </div>
                                </case>
                                <case value="password">
                                <div class="controls">
                                    <input type="password" name="config[{$o_key}]" class="text input-large" value="{$form.value}">
                                </div>
                                </case>
                                <case value="hidden">
                                    <input type="hidden" name="config[{$o_key}]" id="hidden_{$o_key}" value="{$form.value}">
                                </case>
                                <case value="radio">
                                <div class="controls">
                                    <foreach name="form.options" item="opt" key="opt_k">
                                        <label class="radio">
                                            <input type="radio" name="config[{$o_key}]" value="{$opt_k}" <eq name="form.value" value="$opt_k"> checked</eq>>{$opt}
                                        </label>
                                    </foreach>
                                </div>
                                </case>
                                <case value="checkbox">
                                <div class="controls">
                                    <foreach name="form.options" item="opt" key="opt_k">
                                        <label class="checkbox">
                                            <php>
                                                is_null($form["value"]) && $form["value"] = array();
                                            </php>
                                            <input type="checkbox" name="config[{$o_key}][]" value="{$opt_k}" <in name="opt_k" value="$form.value"> checked</in>>{$opt}
                                        </label>
                                    </foreach>
                                </div>
                                </case>
                                <case value="select">
                                <div class="controls">
                                    <select name="config[{$o_key}]" id="select_{$o_key}">
                                        <foreach name="form.options" item="opt" key="opt_k">
                                            <option value="{$opt_k}" <eq name="form.value" value="$opt_k"> selected</eq>>{$opt}</option>
                                        </foreach>
                                    </select>
                                </div>
                                <if condition="$o_key=='background'">
                                 <!-- 自定义上传背景 -->
                                <div class="controls uploadrow" id="uploadControls" style="display:none">
                                    <input type="file" id="upload_picture_bg">
                                    <input type="hidden" name="config[bg]" id="cover_id_bg"/>
                                    <div class="upload-img-box" rel='img'>
                                      <notempty name="data[bg]">
                                        <div class="upload-pre-item"><img width="120" height="120" src="__ROOT__{$data[bg]|get_cover='path'}"/></div>
                                      </notempty>
                                    </div>
                                  </div>
                                  <script type="text/javascript">
                                        //上传图片
                                        /* 初始化上传插件 */
                                        $("#upload_picture_bg").uploadify({
                                            "height"          : 120,
                                            "swf"             : "__STATIC__/uploadify/uploadify.swf",
                                            "fileObjName"     : "download",
                                            "buttonText"      : "上传卡片图片",
                                            "uploader"        : "{:U('home/File/uploadPicture',array('session_id'=>session_id()))}",
                                            "width"           : 120,
                                            'removeTimeout'	  : 1,
                                            'fileTypeExts'	  : '*.jpg; *.png; *.gif;',
                                            "onUploadSuccess" : uploadPicturebg
                                        });
                                        function uploadPicturebg(file, data){
                                            var data = $.parseJSON(data);
                                            var src = '';
                                            if(data.status){
                                                $("#cover_id_bg").val(data.id);
                                                src = data.url || '__ROOT__' + data.path;
                                                $('#cardBg').attr("href",src);
                                                $('#cardBgImg').attr("src",src);
												 $("#cover_id_bg").parent().find('.upload-img-box').html(
                                                '<div class="upload-pre-item"><img width="120" height="120" src="' + src + '"/></div>'
                                            );
                                            } else {
                                                updateAlert(data.info);
                                                setTimeout(function(){
                                                    $('#top-alert').find('button').click();
                                                    $(that).removeClass('disabled').prop('disabled',false);
                                                },1500);
                                            }
                                        }
                                </script> 
                                </if>
                                </case>
                               
                                <case value="textarea">
                                <div class="controls">
                                    <label class="textarea input-large">
                                        <textarea name="config[{$o_key}]">{$form.value}</textarea>
                                    </label>
                                </div>
                                </case>
                                
                            </switch>
                        </div>
                </foreach>
            <else />
                <present name="custom_config">
                    {$custom_config}
                </present>
            </empty>
            <input type="hidden" name="id" value="{$data.id}" readonly>
            <button type="submit" class="btn submit-btn ajax-post" target-form="form-horizontal">确 定</button>
            
        </form>
        <!--<div class="card_preview fr">
      		<a id="cardBg" href="{:ADDON_PUBLIC_PATH}/card_bg_1.png" target="_blank"><img id="cardBgImg" src="{:ADDON_PUBLIC_PATH}/card_bg_1.png" width="100%" height="100%"></a>
            <span class="card_num" id="cardNumber">NO. 80001</span>
            <span class="card_name"></span>
       </div>-->
      </div>
    </section>
 </div>
</block>

<block name="script">
<script type="text/javascript" charset="utf-8">
	//导航高亮
    $('.side-sub-menu').find('a[href="{:U('Addons/index')}"]').closest('li').addClass('current');
    if($('ul.tab-nav').length){
    	$('.btn-return').hide();
    }
	$(function(){
		showTab();
		$('#select_background').change(function(){
				if($(this).val()==11){
					$('#uploadControls').show();
				}else{
					var cardBgUrl = '{:ADDON_PUBLIC_PATH}/card_bg_'+$(this).val()+".png";
					$('#cardBg').attr("href",cardBgUrl);
					$('#cardBgImg').attr("src",cardBgUrl);
					$('#uploadControls').hide();
				}
		});
		$('#select_length').change(function(){
			var val = 'NO. '+$(this).val();
			$('#cardNumber').html(val);
		});		
		$('#cardName').keyup(function(){
			$('.card_name').html($(this).val());
		})
		
		//初始化
		$('.card_name').html($('#cardName').val());
		$('#cardNumber').html('NO. '+$('#select_length').val());
		if($('#select_background').val()==11){
			$('#uploadControls').show();
			var cardBgUrl = $("#hidden_background_custom").val();
		}else{
			var cardBgUrl = '{:ADDON_PUBLIC_PATH}/card_bg_'+$('#select_background').val()+".png";

		}	
		$('#cardBg').attr("href",cardBgUrl);
		$('#cardBgImg').attr("src",cardBgUrl);	
	})
</script>



<script>
var start = {
  elem: '#cardNamestart',
  format: 'YYYY/MM/DD hh:mm:ss',
  /*min: laydate.now(), //设定最小日期为当前日期
  max: '2099-06-16 23:59:59', //最大日期*/
  istime: true,
  istoday: false,
  choose: function(datas){
     end.min = datas; //开始日选好后,重置结束日的最小日期
     end.start = datas //将结束日的初始值设定为开始日
  }
};
var end = {
  elem: '#cardNameend',
  format: 'YYYY/MM/DD hh:mm:ss',
  min: laydate.now(),
  max: '2099-06-16 23:59:59',
  istime: true,
  istoday: false,
  choose: function(datas){
    start.max = datas; //结束日选好后,重置开始日的最大日期
  }
};
laydate(start);
laydate(end);
</script>










</block>
广西南宁市2017-07-07 12:05:06
代码片段
19 行
<extend name="Base/common" />
<block name="body">


      <include file="Addons/_nav" />
     
<button class="btn submit-btn ajax-post" style="margin-left: 9px;" onclick="location.href = '/index.php?s=/addon/Yaoyiyao/Yaoyiyao/dc/del/ok.html';">点击清零摇一摇次数(将不可恢复)</button>











</block>
广西南宁市2017-07-07 12:05:50
GDScript3
150 行
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0">
<title>摇一摇-蛙有道</title>
<link rel="stylesheet" href="/yaoyiyao/css/shake.css">
<link rel="stylesheet" href="/yaoyiyao/css/myDialog.css">
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.9.0/jquery.min.js"></script>
<!-- <script type="text/javascript" src="/js/jquery.min.js"></script> -->
<script type="text/javascript" src="/yaoyiyao/js/howler.min.js"></script> 
<!--<script type="text/javascript" src="/yaoyiyao/js/fastclick.js"></script>-->
<script type="text/javascript" src="/yaoyiyao/js/shake.js?9"></script>
<!--<script type="text/javascript" src="/yaoyiyao/js/myDialog.js"></script>-->
<style>
*{padding:0px;margin:0px;font-size: 14px;}
#maddd{    color: green;position: fixed;
    background: #babcc1;
    width: 90%;
    z-index: 999;
    bottom: 5%;
    left: 5%;
    /* text-align: center; */
    border-radius: 12px;padding:12px 0;}
	#maddd p{padding:0 12px;}.red{color:red;}
	.sssfff{    font-weight: bold;
    color: #444;}
	
	body #maddd .ssjppp{border-bottom: 1px solid #b1b1b1;
    margin: 0 12px;
    padding: 0px;
    margin-bottom: 6px;
    padding-bottom: 6px;}
	
	#paiminnn{height: 120px;    overflow-y: scroll;
    overflow-x: hidden;margin-right: 5%;}
#paiminnn::-webkit-scrollbar-track
{
	-webkit-box-shadow: inset 0 0 6px rgba(255,255,255,0);
	background-color: #babcc1;
}

#paiminnn::-webkit-scrollbar
{
	width:1px;
	background-color: #444;
}

#paiminnn::-webkit-scrollbar-thumb
{
	background-color: #444;
}
.f12{font-size: 12px;}
.w40{    width: 40px;
    display: inline-block;}
	.w100{width: 170px;
    display: inline-block;}
	.frr{    float: right;}
	.ccddd4{color:#444;}
	body #maddd .sss88{color: #969696;
    text-align: center;
    font-size: 12px;
    border-bottom: none;
    margin-top: 12px;}
	.c3{color:#333;}
	#ttoop{position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 60px;
    color: #444;
    font-size: 15px;
    /*font-weight: bolder;*/
    background: #fff url(/Uploads/Picture/2017-06-16/5943571af1849.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    text-align: right;
    line-height: 60px;}
	.ddiddd{    font-size: 12px;
    color: #7b7b7b;
    font-weight: normal;}
</style>
</head>
<body>
<table id="container">
<tbody>
	<tr>
		<td class="container" colspan="2">
			<div id="shake">
				<img src="/yaoyiyao/images/inner.png" class="inner">
				<img src="/yaoyiyao/images/shake.png" class="shake_up" id="shakeup">
				<img src="/yaoyiyao/images/shake.png" class="shake_down" id="shakedown">
			</div>
			<div id="loading" class="loading"></div>
		</td>
	</tr>
	<!--<tr id="controlbar">
		<td class="controlbar" onclick="javascript:shake();">
			<img src="/yaoyiyao/images/sdy.png" width="40" height="53"><br>手动摇
		</td>
	</tr>-->
	<tr id="cantshake" style="display:none"><td class="controlbar" colspan="2">对不起,您的手机无法支持摇一摇!</td></tr>
</tbody>
</table>

<div id="maddd">
<p style="font-weight:bolder;"><span style="color:#c7348c;">{$nickname}</span> <span class="ddiddd">(ID:{$nummsss})</span></p>
<p>累计摇一摇<span class="red">{$nummm}</span>次 <span class="frr">当前排名<span class="red">{$sssnumber}</span></span></p>
<p style="margin: 12px;height:1px;background: #444;"></p>
<div id="paiminnn">

<?php
	foreach($sssall as $k=>$v){
		$k++;
		echo '<p class="ssjppp"><span class="sssfff w40">'.$k.'</span> <span class="w100 c3">'.$v['user'].'</span> <span class="f12 frr ccddd4"><span class="f12">'.$v['numm'].'</span>次</span></p>';
	}
?>
<p class="ssjppp  sss88">没有了</p>
</div>
</div>

<div id="ttoop">
<img src="/yaoyiyao/gift_box_64px_503984_easyicon.net.png" height="50%" style="vertical-align: middle;" />摇大奖&nbsp;&nbsp;
</div>

<script>
function puttt(n){
	//console.log(n);
	var yaoyiyao_id='{$yaoyiyao_id}';
	if(!n || !yaoyiyao_id) return false;
    $.ajax( {
        url:"/index.php?s=/addon/WeiSite/WeiSite/yaoyiyaoiner.html", 
        type: "POST", 
        data:"yaoyiyao_id="+yaoyiyao_id+"&nnumm="+n,
        //dataType: "json",
        //cache: false,
        //async: false,
        beforeSend: function(){
         // Handle the beforeSend event
        },
        success: function(data){
            $('#maddd').html(data);
        }
    });
}
</script>

</body>
</html>
| | #0
广西南宁市 2017-07-07 12:06
JavaScript
89 行
//yaoyiyao
	function yaoyiyao(){
		session('yaoyiyaotoken',null);
		$allinfo=getWeixinUserInfo(get_openid(),get_token());
		//$allinfo=array('openid'=>'okKYm1QwHgKb_wGI222l262','nickname'=>'发大水法');
		
		//dump($allinfo);exit;
		$mapw['oppid']=$allinfo['openid'];//get_openid();
		//$sss=M('yaoyiyao')->where($mapw)->limit(1)->find();
		$sssall=M('yaoyiyao')->order('numm desc')->select();
		foreach($sssall as $sk=>$sv){
				$sssnumbers++;
			if($sv['oppid']==$mapw['oppid']){
				$sss[]=$sv;
				$sssnumber=$sssnumbers;
			}
		}
		$sss=$sss['0'];
		//dump($sss);exit;
		if(!$sss['id']){
			$map['ctime']=time();
			$map['user']=$allinfo['nickname'];;
			$map['numm']=0;
			$map['oppid']=$mapw['oppid'];
			$map['nummsss']=rand(10,99).date('is',time()).rand(100,999);
			$sss['id']=M('yaoyiyao')->where($mapw)->limit(1)->add($map);
		}
			if(!$sss['id']){
				header('Location:/index.php?s=/addon/WeiSite/WeiSite/index.html');
				exit;
			}
			session('yaoyiyaotoken', $value=$sss['id']);
			$this->assign('yaoyiyao_id',$sss['id']);
			$this->assign('sssall',$sssall);
			$nummsss=$map['nummsss'];
			if(!$map['nummsss']) $nummsss=$sss['nummsss'];
			$this->assign('nummsss',$nummsss);
			$this->assign('sssnumber',($sssnumber+0));
			$this->assign('nickname',$allinfo['nickname']);
			$this->assign('nummm',($sss['numm']+0));
		$configyaoyiyy=getAddonConfig('Yaoyiyao');
		$this->assign('configyaoyiyy',$configyaoyiyy);
		//活动开始时间
		$starttime=strtotime($configyaoyiyy['start']);
		//活动结束时间
		$endndtime=strtotime($configyaoyiyy['end']);
		$timesss=time();
		
		$yyhtmo='yaoyiyao';
		//活动未开始
		if($starttime>$timesss){
			$yyhtmo='yaoyiyaonostart';
		}
		//活动已经结束
		if($endndtime<$timesss){
			$yyhtmo='yaoyiyaonoend';
		}
		if(!$configyaoyiyy['random']) $yyhtmo='yaoyiyaoclose'; //关闭
			
		$this->display(ONETHINK_ADDON_PATH . 'WeiSite/View/default/TemplateIndex/' . $this->config ['template_index'] . '/'.$yyhtmo.'.html');
		
	}
	//摇一摇录入
	function yaoyiyaoiner(){
		//session_start();
		$mapw['id']=$_POST['yaoyiyao_id'];
		if(session('yaoyiyaotoken')!=$mapw['id']) exit(0);//验证是否摇一摇页面
		
		
		//$map['ctime']=time();
		//$mapw['user']='test';
		$map['numm']=array('exp','numm+'.($_POST['nnumm']+0));
		M('yaoyiyao')->where($mapw)->limit(1)->save($map);
		$sssall=M('yaoyiyao')->order('numm desc')->select();
		foreach($sssall as $sk=>$sv){
				$sssnumbers++;
			if($sv['id']==$mapw['id']){
				$sss[]=$sv;
				$sssnumber=$sssnumbers;
			}
		}
		$sss=$sss['0'];
			$this->assign('sssnumber',($sssnumber+0));
			$this->assign('nickname',$sss['user']);
			$this->assign('nummm',($sss['numm']+0));
			$this->assign('nummsss',$sss['nummsss']);
		$this->assign('sssall',$sssall);
		$this->display(ONETHINK_ADDON_PATH . 'WeiSite/View/default/TemplateIndex/' . $this->config ['template_index'] . '/yaoyiyaosssall.html');
	}
广西南宁市2017-07-07 12:08:03

js图片html音频mp3资源文件打包下载

广西南宁市2017-07-07 12:18:57
article image
广西南宁市2017-07-07 15:03:10
JavaScript
10 行
        beforeSend: function(){
         // Handle the beforeSend event
        },
        success: function(data){
            $('#maddd').html(data);
        },
	   error:function (data, status, e){   
		 alert('服务器繁忙,请摇慢一点(-。-;)');   
		 location.href = '/index.php?s=/addon/WeiSite/WeiSite/yaoyiyao.html';
	   }
广西南宁市2017-07-07 15:26:53
GDScript3
29 行
//运动事件监听
if (window.DeviceMotionEvent) {
    window.addEventListener('devicemotion',deviceMotionHandler,false);
}

//获取加速度信息
//通过监听上一步获取到的x, y, z 值在一定时间范围内的变化率,进行设备是否有进行晃动的判断。
//而为了防止正常移动的误判,需要给该变化率设置一个合适的临界值。
var SHAKE_THRESHOLD = 4000;
var last_update = 0;
var x, y, z, last_x = 0, last_y = 0, last_z = 0;
function deviceMotionHandler(eventData) {
        var acceleration =eventData.accelerationIncludingGravity;
        var curTime = new Date().getTime();
        if ((curTime-last_update)> 10) {
            var diffTime = curTime -last_update;
            last_update = curTime;
            x = acceleration.x;
            y = acceleration.y;
            z = acceleration.z;
            var speed = Math.abs(x +y + z - last_x - last_y - last_z) / diffTime * 10000;
            if (speed > SHAKE_THRESHOLD) {
                alert("你中奖啦!");  // Do something
            }
            last_x = x;
            last_y = y;
            last_z = z;
        }
}
广西南宁市2017-07-07 15:27:39
代码片段
5 行
if (window.DeviceMotionEvent) {
window.addEventListener('devicemotion', deviceMotionHandler, false);
} else {
alert('本设备不支持devicemotion事件');
}
| | #0
北京市 2017-07-07 19:18

$_SESSION openid bug

JavaScript
6 行
	function yaoyiyao(){
		session(null);
		//session('weiphp_home',null);
		//$_SESSION['weiphp_home']=null;
		//dump($_SESSION);exit;
		//session('yaoyiyaotoken',null);
北京市2017-07-07 23:41:51

ios 默认不能自动播放音频文件,需要监听一个事件 scroll 或 click 事件触发音频播放,音频格式并无关系。
howler.js这个插件

北京市2017-07-07 23:45:53
代码片段
1 行
session(null);
| | #0
广西南宁市 2017-07-11 17:18
GDScript3
88 行
//摇一摇部分
        var SHAKE_THRESHOLD = 800;// 首先,定义一个摇动的阀值
        var last_update = 0;
        var last_time = 0;
        var x;
        var y;
        var z;
        var last_x;
        var last_y;
        var last_z;
        var sound = new Howl({ urls: ['/yaoyiyao/sound/shake_sound.mp3'] }).load();
        //var findsound = new Howl({ urls: ['/yaoyiyao/sound/shake_match.mp3'] }).load();
        var curTime;
        var isShakeble = true; 

        function init() {
            if (window.DeviceMotionEvent) {
                window.addEventListener('devicemotion', deviceMotionHandler, false);
            } else {
                //$("#cantshake").show();
				alert('本设备不支持摇一摇!');
            }
        }

        function deviceMotionHandler(eventData) {
            curTime = new Date().getTime();
            var diffTime = curTime - last_update;
            if (diffTime > 100) {
                var acceleration = eventData.accelerationIncludingGravity;
                last_update = curTime;
                x = acceleration.x;
                y = acceleration.y;
                z = acceleration.z;
                var speed = Math.abs(x + y + z - last_x - last_y - last_z) / diffTime * 10000;

                if (speed > SHAKE_THRESHOLD && curTime - last_time > 500 && isShakeble) {
					// && $("#loading").attr('class') == "loading"
					window.clearTimeout(tmid); 
                    shake();
                }
                last_x = x;
                last_y = y;
                last_z = z;
            }
        }
		var newnumm=0,tmid,ssfsdfsdf=0;
        function shake() {
            last_time = curTime;
            //$("#loading").attr('class','loading loading-show');
					tmid=setTimeout(function(){
						if(newnumm){
							puttt(newnumm);
							newnumm=0;
							ssfsdfsdf++;
							$('#ssfsdfsdf').text(ssfsdfsdf);
							$("#shakeup").stop(true,true);
							$("#shakedown").stop(true,true);
						}
						//console.log(newnumm);
					},1600);
					newnumm++;
            $("#shakeup").animate({ top: "10%" }, 700, function () {
                $("#shakeup").animate({ top: "25%" }, 700, function () {
                    //$("#loading").attr('class','loading');

					//console.log(newnumm);
                    //findsound.play();
                    /*myDialog.alert('恭喜你,中奖了');*/
                });
            });
			sound.play();
            $("#shakedown").animate({ top: "40%" }, 700, function () {
                $("#shakedown").animate({ top: "25%" }, 700, function () {
                });
            });
            
        }
		
		//各种初始化
        $(document).ready(function () {
            Howler.iOSAutoEnable = false;
				//$('#container').trigger("click");
				//document.getElementById("container").click();
			//Howler.mobileAutoEnable = true;
            //FastClick.attach(document.body);
            init();
        });
		
广西南宁市2017-07-11 17:31:35
GDScript3
3 行
Document自带的方法: 
循环执行:var timeid = window.setInterval(“方法名或方法”,“延时”);window.clearInterval(timeid); 
定时执行:var tmid = window.setTimeout(“方法名或方法”, “延时”);window.clearTimeout(tmid); 
| | #0
广西南宁市 2017-07-11 17:39

JavaScript中8个常见的陷阱
1. 你是否尝试过对数组元素进行排序?
JavaScript默认使用字典序(alphanumeric)来排序。因此,[1,2,5,10].sort()的结果是[1, 10, 2, 5]。
如果你想正确的排序,应该这样做:

JavaScript
1 行
[1,2,5,10].sort((a, b) => a - b)

2. new Date() 十分好用
new Date()的使用方法有:
不接收任何参数:返回当前时间;
接收一个参数x: 返回1970年1月1日 + x毫秒的值。
new Date(1, 1, 1)返回1901年2月1号。
然而....,new Date(2016, 1, 1)不会在1900年的基础上加2016,而只是表示2016年。

3. 替换函数没有真的替换?

GDScript3
4 行
  let s = "bob"
  const replaced = s.replace('b', 'l')
  replaced === "lob" // 只会替换掉第一个b
  s === "bob" // 并且s的值不会变

如果你想把所有的b都替换掉,要使用正则:

代码片段
1 行
"bob".replace(/b/g, 'l') === 'lol'

4. 谨慎对待比较运算

代码片段
7 行
  // 这些可以
  'abc' === 'abc' // true
  1 === 1         // true
  // 然而这些不行
  [1,2,3] === [1,2,3] // false
  {a: 1} === {a: 1}   // false
  {} === {}           // false

因为[1,2,3]和[1,2,3]是两个不同的数组,只是它们的元素碰巧相同。因此,不能简单的通过===来判断。

5. 数组不是基础类型

代码片段
5 行
  typeof {} === 'object'  // true
  typeof 'a' === 'string' // true
  typeof 1 === number     // true
  // 但是....
  typeof [] === 'object'  // true

如果要判断一个变量var是否是数组,你需要使用Array.isArray(var)。

6. 闭包
这是一个经典的JavaScript面试题:

GDScript3
7 行
  const Greeters = []
  for (var i = 0 ; i < 10 ; i++) {
    Greeters.push(function () { return console.log(i) })
  }
  Greeters[0]() // 10
  Greeters[1]() // 10
  Greeters[2]() // 10

虽然期望输出0,1,2,...,然而实际上却不会。知道如何Debug嘛?

有两种方法:
使用let而不是var。备注:可以参考Fundebug的另一篇博客ES6之"let"能替代"var"吗?
使用bind函数。备注:可以参考Fundebug的另一篇博客JavaScript初学者必看“this”
Greeters.push(console.log.bind(null, i))
当然,还有很多解法。这两种是我最喜欢的!

7. 关于bind
下面这段代码会输出什么结果?

GDScript3
16 行
  class Foo {
    constructor (name) {
      this.name = name
    }
    greet () {
      console.log('hello, this is ', this.name)
    }
    someThingAsync () {
      return Promise.resolve()
    }
    asyncGreet () {
      this.someThingAsync()
      .then(this.greet)
    }
  }
  new Foo('dog').asyncGreet()

如果你说程序会崩溃,并且报错:Cannot read property 'name' of undefined。
因为第16行的geet没有在正确的环境下执行。当然,也有很多方法解决这个BUG!

我喜欢使用bind函数来解决问题:

代码片段
4 行
asyncGreet () {
  this.someThingAsync()
  .then(this.greet.bind(this))
}

这样会确保greet会被Foo的实例调用,而不是局部的函数的this。
如果你想要greet永远不会绑定到错误的作用域,你可以在构造函数里面使用bind来绑 。

GDScript3
6 行
class Foo {
  constructor (name) {
    this.name = name
    this.greet = this.greet.bind(this)
  }
}

你也可以使用箭头函数(=>)来防止作用域被修改。备注:可以参考Fundebug的另一篇博客JavaScript初学者必看“箭头函数”。

JavaScript
6 行
asyncGreet () {
  this.someThingAsync()
  .then(() => {
    this.greet()
  })
}

8. Math.min()比Math.max()大

代码片段
1 行
Math.min() < Math.max() // false

因为Math.min() 返回 Infinity, 而 Math.max()返回 -Infinity。

原文: Who said javascript was easy ?
译者: Fundebug的全栈BUG监控

| | #0
广西南宁市 2017-07-11 18:02
GDScript3
177 行
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0">
<title>摇一摇-蛙有道</title>
<link rel="stylesheet" href="/yaoyiyao/css/shake.css">
<!--<link rel="stylesheet" href="/yaoyiyao/css/myDialog.css">-->
<link rel="stylesheet" href="/yaoyiyao/font-awesome.css?1">
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.9.0/jquery.min.js"></script>
<!-- <script type="text/javascript" src="/js/jquery.min.js"></script> -->
<script type="text/javascript" src="/yaoyiyao/js/howler.min.js"></script> 
<!--<script type="text/javascript" src="/yaoyiyao/js/fastclick.js"></script>-->
<script type="text/javascript" src="/yaoyiyao/js/shake.js?003"></script>
<!--<script type="text/javascript" src="/yaoyiyao/js/myDialog.js"></script>-->
<style>
*{padding:0px;margin:0px;font-size: 14px;}
#maddd{    color: green;position: fixed;
    background: #babcc1;
    width: 90%;
    z-index: 999;
    bottom: 5%;
    left: 5%;
    /* text-align: center; */
    border-radius: 12px;padding:12px 0;}
	#maddd p{padding:0 12px;}.red{color:red;}
	.sssfff{    font-weight: bold;
    color: #444;}
	
	body #maddd .ssjppp{border-bottom: 1px solid #b1b1b1;
    margin: 0 12px;
    padding: 0px;
    margin-bottom: 6px;
    padding-bottom: 6px;}
	
	#paiminnn{height: 120px;    overflow-y: scroll;
    overflow-x: hidden;margin-right: 5%;}
#paiminnn::-webkit-scrollbar-track
{
	-webkit-box-shadow: inset 0 0 6px rgba(255,255,255,0);
	background-color: #babcc1;
}

#paiminnn::-webkit-scrollbar
{
	width:1px;
	background-color: #444;
}

#paiminnn::-webkit-scrollbar-thumb
{
	background-color: #444;
}
.f12{font-size: 12px;}
.w40{    width: 40px;
    display: inline-block;}
	.w100{width: 170px;
    display: inline-block;}
	.frr{    float: right;}
	.ccddd4{color:#444;}
	body #maddd .sss88{color: #969696;
    text-align: center;
    font-size: 12px;
    border-bottom: none;
    margin-top: 12px;padding-bottom:0px;margin-bottom:0px;}
	.c3{color:#333;}
	#ttoop{position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 60px;
    color: #444;
    font-size: 15px;
    /*font-weight: bolder;*/
    background: #fff url(/Uploads/Picture/2017-06-16/5943571af1849.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    text-align: right;
    line-height: 60px;}
	.ddiddd{    font-size: 12px;
    color: #7b7b7b;
    font-weight: normal;}
	#loading{z-index: 9999;}
</style>
</head>
<body>
<table id="container">
<tbody>
	<tr>
		<td class="container" colspan="2">
			<div id="shake">
				<img src="/yaoyiyao/images/inner.png" class="inner">
				<img src="/yaoyiyao/images/shake.png" class="shake_up" id="shakeup">
				<img src="/yaoyiyao/images/shake.png" class="shake_down" id="shakedown">
			</div>
			<div id="loading" class="loading"></div>
		</td>
	</tr>
	<!--<tr id="controlbar">
		<td class="controlbar" onclick="javascript:shake();">
			<img src="/yaoyiyao/images/sdy.png" width="40" height="53"><br>手动摇
		</td>
	</tr>
	<tr id="cantshake" style="display:none"><td class="controlbar" colspan="2">对不起,您的手机无法支持摇一摇!</td></tr>-->
</tbody>
</table>

<div id="maddd">
<p style="font-weight:bolder;"><i class="fa fa-weixin"></i> <span style="color:#c7348c;">{$nickname}</span> <span class="ddiddd">(ID:{$nummsss})</span></p>
<p><i class="fa fa-bar-chart-o"></i> 累计摇一摇<span class="red">{$nummm}</span>次 <span class="frr"><i class="fa fa-clock-o"></i> 当前排名<span class="red">{$sssnumber}</span></span></p>
<p style="margin: 12px;height:1px;background: #444;"></p>
<div id="paiminnn">

<?php
	foreach($sssall as $k=>$v){
		$k++;
		echo '<p class="ssjppp">';
		if($k==1) echo '<i class="fa fa-flag"></i> ';
		if($k==2) echo '<i class="fa fa-flag-checkered"></i> ';
		if($k==3) echo '<i class="fa fa-flag-o"></i> ';
		if($k>3) echo '<i class="fa fa-comments-o ccddd4"></i> ';
		echo '<span class="sssfff w40">'.$k.'</span> <span class="w100 c3">'.$v['user'].'</span> <span class="f12 frr ccddd4"><span class="f12">'.$v['numm'].'</span>次</span></p>';
	}
?>
<p class="ssjppp sss88">没有了</p>
</div>
</div>

<div id="ttoop"><span id="ssfsdfsdf"></span>
<img src="/yaoyiyao/gift_box_64px_503984_easyicon.net.png" height="50%" style="vertical-align: middle;" />摇大奖&nbsp;&nbsp;
</div>

<script>
//alert('欢迎你:{$nickname},摇一摇次数最多者将赢得精美礼品!');
//shake();
if(!localStorage.lastnamenn) localStorage.lastnamenn=0;
else puttt(localStorage.lastnamenn);
function puttt(n){
	//console.log(n);
	var yaoyiyao_id='{$yaoyiyao_id}';
	if(!n || !yaoyiyao_id) return false;
	if(!localStorage.lastnamenn) localStorage.lastnamenn=Number(localStorage.lastnamenn)+Number(n);
	//alert(localStorage.lastnamenn);
    $.ajax( {
        url:"/index.php?s=/addon/WeiSite/WeiSite/yaoyiyaoiner.html", 
        type: "POST", 
        data:"yaoyiyao_id="+yaoyiyao_id+"&nnumm="+n,
        //dataType: "json",
        //cache: false,
        //async: false,
        beforeSend: function(){
			$("#loading").attr('class','loading loading-show');
         // Handle the beforeSend event
            /*$("#shakedown").animate({ top: "40%" }, 700, function () {
                $("#shakedown").animate({ top: "25%" }, 700, function () {
                });
            });*/
        },
        success: function(data){
            $('#maddd').html(data);
			$("#loading").attr('class','loading');
			localStorage.lastnamenn=0;
        },
	   error:function (data, status, e){   
		 //alert('服务器繁忙,请摇慢一点(-。-;)'); 
	setTimeout(function(){
		location.href = '/index.php?s=/addon/WeiSite/WeiSite/yaoyiyao.html';
	},1290);		 
		 
	   }
    });
}
</script>

</body>
</html>
广西南宁市2017-07-11 18:02:56
GDScript3
90 行
//摇一摇部分
        var SHAKE_THRESHOLD = 800;// 首先,定义一个摇动的阀值
        var last_update = 0;
        var last_time = 0;
        var x;
        var y;
        var z;
        var last_x;
        var last_y;
        var last_z;
        var sound = new Howl({ urls: ['/yaoyiyao/sound/shake_sound.mp3'] }).load();
        //var findsound = new Howl({ urls: ['/yaoyiyao/sound/shake_match.mp3'] }).load();
        var curTime;
        var isShakeble = true; 

        function init() {
            if (window.DeviceMotionEvent) {
                window.addEventListener('devicemotion', deviceMotionHandler, false);
            } else {
                //$("#cantshake").show();
				alert('本设备不支持摇一摇!');
            }
        }

        function deviceMotionHandler(eventData) {
            curTime = new Date().getTime();
            var diffTime = curTime - last_update;
            if (diffTime > 100) {
                var acceleration = eventData.accelerationIncludingGravity;
                last_update = curTime;
                x = acceleration.x;
                y = acceleration.y;
                z = acceleration.z;
                var speed = Math.abs(x + y + z - last_x - last_y - last_z) / diffTime * 10000;

                if (speed > SHAKE_THRESHOLD && curTime - last_time > 500 && isShakeble) {
					// && $("#loading").attr('class') == "loading"
					//ssfsdfsdfnum++;
					window.clearTimeout(tmid); 
                    shake();
                }
                last_x = x;
                last_y = y;
                last_z = z;
            }
        }
		var newnumm=0,tmid,ssfsdfsdf=0,ssfsdfsdfnum=0;
        function shake() {
            last_time = curTime;
            //$("#loading").attr('class','loading loading-show');
					tmid=setTimeout(function(){
						if(newnumm){
							puttt(newnumm);
							ssfsdfsdfnum=ssfsdfsdfnum+newnumm;
							newnumm=0;
							ssfsdfsdf++;
							$('#ssfsdfsdf').text('+'+ssfsdfsdfnum);//ssfsdfsdf
							$("#shakeup").stop(true,true);
							$("#shakedown").stop(true,true);
						}
						//console.log(newnumm);
					},1800);
					newnumm++;
            $("#shakeup").animate({ top: "10%" }, 700, function () {
                $("#shakeup").animate({ top: "25%" }, 700, function () {
                    //$("#loading").attr('class','loading');

					//console.log(newnumm);
                    //findsound.play();
                    /*myDialog.alert('恭喜你,中奖了');*/
                });
            });
			sound.play();
            $("#shakedown").animate({ top: "40%" }, 700, function () {
                $("#shakedown").animate({ top: "25%" }, 700, function () {
                });
            });
            
        }
		
		//各种初始化
        $(document).ready(function () {
            Howler.iOSAutoEnable = false;
				//$('#container').trigger("click");
				//document.getElementById("container").click();
			//Howler.mobileAutoEnable = true;
            //FastClick.attach(document.body);
            init();
        });
		
广西南宁市2017-07-11 18:03:13
JavaScript
93 行
//yaoyiyao
	function yaoyiyao(){
		session(null);
		//session('weiphp_home',null);
		//$_SESSION['weiphp_home']=null;
		//dump($_SESSION);exit;
		//session('yaoyiyaotoken',null);
		$allinfo=getWeixinUserInfo(get_openid(),get_token());
		//$allinfo=array('openid'=>'okKYm1QwHgKb_wGI222l262','nickname'=>'发大水法');
		
		//dump($allinfo);exit;
		$mapw['oppid']=$allinfo['openid'];//get_openid();
		//$sss=M('yaoyiyao')->where($mapw)->limit(1)->find();
		$sssall=M('yaoyiyao')->order('numm desc')->select();
		foreach($sssall as $sk=>$sv){
				$sssnumbers++;
			if($sv['oppid']==$mapw['oppid']){
				$sss[]=$sv;
				$sssnumber=$sssnumbers;
			}
		}
		$sss=$sss['0'];
		//dump($sss);exit;
		if(!$sss['id']){
			$map['ctime']=time();
			$map['user']=$allinfo['nickname'];;
			$map['numm']=0;
			$map['oppid']=$mapw['oppid'];
			$map['nummsss']=rand(10,99).date('is',time()).rand(100,999);
			$sss['id']=M('yaoyiyao')->where($mapw)->limit(1)->add($map);
		}
			if(!$sss['id']){
				header('Location:/index.php?s=/home/Index/leaflets/token/gh_41ee220e58f1.html');
				exit;
			}
			session('yaoyiyaotoken', $value=$sss['id']);
			$this->assign('yaoyiyao_id',$sss['id']);
			$this->assign('sssall',$sssall);
			$nummsss=$map['nummsss'];
			if(!$map['nummsss']) $nummsss=$sss['nummsss'];
			$this->assign('nummsss',$nummsss);
			$this->assign('sssnumber',($sssnumber+0));
			$this->assign('nickname',$allinfo['nickname']);
			$this->assign('nummm',($sss['numm']+0));
		$configyaoyiyy=getAddonConfig('Yaoyiyao');
		$this->assign('configyaoyiyy',$configyaoyiyy);
		//活动开始时间
		$starttime=strtotime($configyaoyiyy['start']);
		//活动结束时间
		$endndtime=strtotime($configyaoyiyy['end']);
		$timesss=time();
		
		$yyhtmo='yaoyiyao';
		//活动未开始
		if($starttime>$timesss){
			$yyhtmo='yaoyiyaonostart';
		}
		//活动已经结束
		if($endndtime<$timesss){
			$yyhtmo='yaoyiyaonoend';
		}
		if(!$configyaoyiyy['random']) $yyhtmo='yaoyiyaoclose'; //关闭
			
		$this->display(ONETHINK_ADDON_PATH . 'WeiSite/View/default/TemplateIndex/' . $this->config ['template_index'] . '/'.$yyhtmo.'.html');
		
	}
	//摇一摇录入
	function yaoyiyaoiner(){
		//session_start();
		$mapw['id']=$_POST['yaoyiyao_id'];
		if(session('yaoyiyaotoken')!=$mapw['id']) exit(0);//验证是否摇一摇页面
		
		
		//$map['ctime']=time();
		//$mapw['user']='test';
		$map['numm']=array('exp','numm+'.($_POST['nnumm']+0));
		M('yaoyiyao')->where($mapw)->limit(1)->save($map);
		$sssall=M('yaoyiyao')->order('numm desc')->select();
		foreach($sssall as $sk=>$sv){
				$sssnumbers++;
			if($sv['id']==$mapw['id']){
				$sss[]=$sv;
				$sssnumber=$sssnumbers;
			}
		}
		$sss=$sss['0'];
			$this->assign('sssnumber',($sssnumber+0));
			$this->assign('nickname',$sss['user']);
			$this->assign('nummm',($sss['numm']+0));
			$this->assign('nummsss',$sss['nummsss']);
		$this->assign('sssall',$sssall);
		$this->display(ONETHINK_ADDON_PATH . 'WeiSite/View/default/TemplateIndex/' . $this->config ['template_index'] . '/yaoyiyaosssall.html');
	}
广西南宁市2017-07-11 18:05:38

if(!localStorage.lastnamenn) localStorage.lastnamenn=Number(localStorage.lastnamenn)+Number(n);

代码片段
1 行
if(!localStorage.lastnamenn) localStorage.lastnamenn=Number(n);

😬😬😬

| | #0
广西南宁市 2017-07-12 11:22

这篇回答叫做:“为什么有时候下载东西一开始很快,后来就越来越慢”回答暨通信网理论基础课程复习笔记

不是套路!!!是TCP协议的拥塞控制机制导致的!
要理解TCP的拥塞控制机制,还得从古老的七层模型说起……

article image

其中TCP协议应用于传输层,下载就是传输的一种,而TCP传输的速度基本是这样的

article image

其中横坐标是传输次数,纵坐标是“拥塞窗口”数,就是要传输的报文需要先进入这个窗口才能发出去,简单的理解成传输速度就可以了a
假设我要在百度云上下载一个文件,以之为例解释一下这个过程。

(A→B段)
百度云:不知道当前网络环境怎么样,路上堵不堵……不管了发一个报文试试。
我:收到啦收到啦!
百度云:诶呦不错那再发两个试试~
……
百度云:行了行了差不多了可以慢点儿增加了
这一段,起点学名叫做慢开始,后面叫指数增大

(B→C段)
百度云:加一个
我:收到啦
百度云:再加一个
我:收到啦
百度云:再加一个
我:……
百度云:? 诶好像堵了= =
这一段,学名叫做,拥塞避免算法,即,加法增大

(C→D段)
百度云:算了从头开始
这一段叫做,乘法减小,开始新的慢开始,指数增大,但是,只增大到刚刚的一半,就进入拥塞避免阶段啦!(D→E段,E纵坐标是C的一半)
以上是TCP Tahoe版本的传输过程(也是主要考试的内容),然而实际上这个版本太基础了,已经废弃不用了,实际使用的是红线的版本,叫做TCP Reno(但是这个不考)

article image

红色版本与蓝色版本的区别就是,红色版本的乘法减小并不是直接减到1然后重新慢开始,而是采用了效率高一些的“快恢复快重传”算法,也就是乘法减小至原来的一半(C→F段,F是C的一半)然后直接开始加法增大。这样可以看到比原来的蓝色版本稍微快了一点。
但下载还是很慢啊怎么办,关于这点老师的说法是,自己手动暂停一下,再重新开始下载,就又能享受一次第一次的指数增加加法增加的速度,不然后面一直减半减半减半就会越来越慢越慢越慢………………

以上都是与TCP协议有关的理论因素,其他因素还包括加速器啊下载器啊什么的

| | #0
广西南宁市 2017-07-12 15:55

PHP输出中文乱码的问题
用echo输出的中文显示成乱码,
其实应该是各种服务器脚本都会遇到这个问题,
根本还是编码问题,
一般来说出于编码兼容考虑大多的页面都将页面字符集定义为utf-8
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
这时候要正常显示中文需要转化一下编码方式,比如
echo iconv("GB2312","UTF-8",'中文');就不会乱码了
还有其他方法,比如
在php的echo前面加入header("Content-Type:text/html;charset=gb2312");
当然简体中文页面也可以干脆地,
把<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />中的UTF-8改成gb2312

实际中遇见奇怪的现象,
在本机服务器上正常显示的页面,传上服务器就echo出来乱码,
没仔细琢磨过这个缘由,因为通过iconv函数GB2312、UTF-8换换位置重新编码下就正常了,
不过估计肯定是APACHE,更确切说是PHP服务端的设置不同造成的,
看看PHP.INI应该就能解决。

广西南宁市2017-07-12 15:56:20

在php的echo前面加入

代码片段
1 行
header("Content-Type:text/html;charset=UTF-8");
广西南宁市2017-07-12 15:57:11

js字符串转换成数字的三种方法

广西南宁市2017-07-12 15:59:06

H5的storage(sessionstorage&localStorage)简单存储删除
众所周知,H5的storage有sessionstorage&localStorage,其中他们的共同特点是API相同
下面直接上代码,storage中的存储与删除:
存值取值删除

GDScript3
35 行
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>H5的storage</title>
</head>
<body>
    <input type='button' onclick='setItems()' value='存值' />
    <input type='button' onclick='getItems()' value='取值' />
    <input type='button' onclick='deleteItem()' value='删除' />
</body>
<script src="js/jquery.min.js"></script>
<script>
    //localStorage存值永久有效
    function setItems(){
        var user = {};
        user.name = 'Adam Li';
        user.age  = 25;
        user.home = 'China';
        localStorage.setItem('userinfo',JSON.stringify(user));
    }
    //localStorage取值
    function getItems(){
        var data = JSON.parse(localStorage.getItem('userinfo'));
        console.log("name:"+data.name+'\r age:'+data.age+"\r home:"+data.home);
    }

    //localStorage删除指定键对应的值
    function deleteItem(){
        localStorage.removeItem('userinfo');
        console.log(localStorage.getItem('userinfo'));
    }
</script>
</html>
| | #0
广西南宁市 2017-07-20 16:33

进行数据字段加减操作
经常有需要对某个数据表的计数字段进行加减操作,我们来看下在ThinkPHP中的具体使用办法。
最简单的,使用下面方法对score自动加1:

代码片段
1 行
M('User')->where('id=5')->setInc('score');

当然,也可以加更多的积分:

代码片段
1 行
M('User')->where('id=5')->setInc('score',5);

当然也可以减1操作

代码片段
1 行
M('User')->where('id=5')->setDec('score');

setInc和setDec方法只能单独对一个字段进行操作,如果你的字段加减操作要和其他字段的更新一起的话,则需要采用表达式更新的方式了,例如:

代码片段
5 行
$User = M('User');
$User->id = 5;
$User->nickname = 'ThinkPHP';
$User->score = array('exp','score+5');
$User->save();

表示对id为5的用户数据进行昵称和积分修改操作。

代码片段
1 行
$User->score = array('exp','score+5');

这段代码就称之为表达式更新。

广西南宁市2017-07-20 16:33:52

加无所谓了,如果是减的话,有可能导致字段为负值,对于int类型来讲会导致这个值非常大

| | #0
广西南宁市 2017-07-22 21:22

dz会员回帖积分bug
DISCUZ积分交易系统积分活动异常BUG修复方法
Discuz x3.1 x3 x2.5论坛刷积分各种方法+修复补丁
dz论坛回复主题等奖励积分自动归零归0更新0

article image
JavaScript
26 行
	function countcredit($uid, $update = true) {
		global $_G;
		
		$credits = 0;
		if($uid && !empty($_G['setting']['creditsformula'])) {
			$member = C::t('common_member_count')->fetch($uid);
				//20170722
				//print_r($member);exit;
				//qq 2500152288S
				// lizhenqiu.com
				if(empty($member)){
					C::t('common_member_count')->insert(array('uid'=>$uid));
				}
				//end
			eval("\$credits = round(".$_G['setting']['creditsformula'].");");
			if($uid == $_G['uid']) {
				if($update && $_G['member']['credits'] != $credits) {
					C::t('common_member')->update_credits($uid, $credits);
					$_G['member']['credits'] = $credits;
				}
			} elseif($update) {
				C::t('common_member')->update_credits($uid, $credits);
			}
		}
		return $credits;
	}
| | #0
广西南宁市 2017-07-25 11:35
代码片段
6 行
<header>
<!--狗日的破UC浏览器!-->
</header>

视频
<iframe height="250" width="100%" src="{$find.video}" frameborder="0" 'allowfullscreen'=""></iframe>
| | #0
广西南宁市 2017-07-27 10:44

微信iOS客户端升级内核为wkwebview后,微信返回上一页的按钮会强制性使用页面缓存,困扰了我整整一天,解决方案如下。

GDScript3
6 行
//解决微信内核为wkwebview时返回上一页,界面不刷新的问题
window.onpageshow = function(event){
   if (event.persisted) {
       window.location.reload();
   }
};
广西南宁市2017-07-27 10:45:21

解决方案,将debugtbs.qq.com复制到微信对话框发送,然后进入就可以强制使用系统webview,删除x5tbs

广西南宁市2017-07-27 10:47:59

#1微信浏览器端页面框架是否也可以达到效果?

| | #0
广西南宁市 2017-08-02 11:53

jquery遍历的radio的取值

JavaScript
7 行
$("#submitGrade").click(function () {
    $("#courseStandardVoId tr td").find("input[type='radio']").each(function(){
        if($(this).is(":checked")){
            alert($(this).val());
        }
    });
}
| | #0
Comment Form 留下评论
正在回复 #0
粘贴图片、拖拽文件,或点上面的按钮上传 图片会自动插入 [img] 标签,其他附件会自动插入 [attach] 标签。
正在上传...
提交前会先拉起旧项目同款第三方人机验证。

不再要求填写昵称;reply 会生成一条带楼层回链的新评论,quote 会附带完整引用块,并保持评论锚点跳转。

lizhenqiu blog is powered by lizhenqiu.com Version 6.9

Processed in 0.1536 second(s) W3C

本博客的所有原创作品采用 知识共享 署名-非商业性使用-相同方式共享 2.5 协议 进行许可

本站由 七七牛 云存储 阿阿里云 计算与安全服务 拍又拍云 CDN 加速 百百度智能 AAMH 布布集网 AI指南针AI

桂公网安备 45010302000998号 桂ICP备15007619号-1 中国互联网举报中心 建议使用谷歌浏览器浏览
Navigation 文章导航
⌂ ↓ ↑
100%
图片预览
Gallery 图集
0 张图片

正在整理正文和评论里的图片。

当前页还没有可展示的图片。
Quick Comment 快速评论

直接输入内容,提交时仍会走当前页面的人机验证。

正在上传...
操作提示