Welcom to 评论 - lizhenqiu blog!
#742
#743
header("Content-type: text/html; charset=utf-8"); $kw=iconv("GBK","utf-8",$_GET['kw']); //将字符串的编码从GB2312转到UTF-8 if(!$kw) $kw=$_GET['kw']; $kw=char($kw); @mysql_query("set names utf8mb4"); <meta http-equiv="content-type" content="text/html;charset=utf-8">
function getSafeStr($str){ $s1 = iconv('utf-8','gbk',$str); $s0 = iconv('gbk','utf-8',$s1); if($s0 == $str){ return $str;//'utf-8'; }else{ return iconv('gbk','utf-8',$str);//'gbk' } }
#744
#745
<?php //获取access_token $appid = "wxff7c********"; $appsecret = "197*******7a*******5"; function access_token($appid,$appsecret){ $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsecret}"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查,FALSE表示阻止对证书的合法性的检查。 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是否存在 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//将使用PHP curl获取页面内容或提交数据,作为变量储存,而不是直接输出。 $output = curl_exec($ch);// 执行操作,这里就是返回的结果 $jsoninfo = json_decode($output, true); $access_token = $jsoninfo["access_token"]; curl_close($ch);//关闭一个curl会话 //echo $access_token;exit; return $access_token; } //print_r($post);exit; //post请求 function post($url,$post) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查,FALSE表示阻止对证书的合法性的检查。 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是否存在 curl_setopt($ch, CURLOPT_POST , 1); //使用post提交数据 curl_setopt($ch, CURLOPT_POSTFIELDS, $post); //设置 post提交的数据 //curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($ch); curl_close($ch); $jsoninfo = json_decode($output, true); return $output; } function get($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查,FALSE表示阻止对证书的合法性的检查。 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是否存在 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//将使用PHP curl获取页面内容或提交数据,作为变量储存,而不是直接输出。 $response = curl_exec($ch); // 已经获取到内容,没有输出到页面上。 $jsoninfo = json_decode($response, true); return $jsoninfo; } //自定义菜单 function menudiy($appid,$appsecret){ $access_token=access_token($appid,$appsecret); $url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token={$access_token}"; $post='{ "button":[ { "type":"view", "name":"微官网", "url":"http://www.liangtianmei.com/index.php?s=/addon/WeiSite/WeiSite/index.html" }, { "name":"网页授权", "sub_button":[ { "type":"view", "name":"base型", "url":"http://www.liangtianmei.com/menu.php" }, { "type":"view", "name":"userinfo型", "url":"http://www.liangtianmei.com/menu.php" } ] }] }'; post($url,$post); } function snsapi_base($appid,$appsecret,$redirect_url){ $snsapi_base_url="https://open.weixin.qq.com/connect/oauth2/authorize?appid={$appid}&redirect_uri={$redirect_url}&response_type=code&scope=snsapi_base&state=123#wechat_redirect"; if(!isset($_GET['code'])){ header("Location:{$snsapi_base_url}"); } $code=$_GET['code']; $url="https://api.weixin.qq.com/sns/oauth2/access_token?appid={$appid}&secret={$appsecret}&code={$code}&grant_type=authorization_code"; get($url); } function snsapi_userinfo($appid,$appsecret,$redirect_url){ $snsapi_userinfo_url="https://open.weixin.qq.com/connect/oauth2/authorize?appid={$appid}&redirect_uri={$redirect_url}&response_type=code&scope=snsapi_userinfo&state=1443#wechat_redirect"; if(!isset($_GET['code'])){ header("Location:{$snsapi_userinfo_url}"); } $code=$_GET['code']; //return $code;exit; //return $appid;exit; $urlll="https://api.weixin.qq.com/sns/oauth2/access_token?appid={$appid}&secret={$appsecret}&code={$code}&grant_type=authorization_code"; $rrr= get($urlll); $access_token=$rrr['access_token']; $openid=$rrr['openid']; //return $access_token;exit; $urls="https://api.weixin.qq.com/sns/userinfo?access_token={$access_token}&openid={$openid}&lang=zh_CN"; return get($urls); //return get($urls); } //echo snsapi_userinfo(); ?>
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查,FALSE表示阻止对证书的合法性的检查。 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是否存在
#746
const formatTime = date => { const year = date.getFullYear() const month = date.getMonth() + 1 const day = date.getDate() const hour = date.getHours() const minute = date.getMinutes() const second = date.getSeconds() return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':') } const formatNumber = n => { n = n.toString() return n[1] ? n : '0' + n } //服务器时间戳 function ntime(utilMd5, that){ wx.request({ url: 'https://hhh.liangtianmei.com/ntime.php',//请修改为你服务器 data: { }, header: { 'content-type': 'application/json' }, success: function (res) { //return res; var ttken = 'JLI5vvqq0KRnzfla';//密钥 //var ttime = parseInt(Date.parse(new Date()) / 1000);//时间 秒 var ttime = res.data;//util.ntime(); var ntoken = ttken + ttime; var token = utilMd5.hexMD5(ntoken); //console.log(token); //return token; var url = 'https://hhh.liangtianmei.com/index.php/Home/Product/index'; updatenew(url, token, that); } }) } //更新数据 function updatenew(url, token, that) { wx.request({ url: url,//'https://hhh.liangtianmei.com/index.php/Home/Product/index', //仅为示例,并非真实的接口地址 data: { token: token }, method: 'GET', header: { 'content-type': 'application/json' // 默认值 }, success: function (res) { // alert(res.data) // res.data.content = app.convertHtmlToText(res.content) /*that.setData({ textdata: res.data }); console.log (res.data)*/ // that.setData(res.data) /*that.setData({ all: res.data//第一个data为固定用法,第二个data是json中的data })*/ //console.log(token); //console.log(res) that.setData({ all: res.data // imageUrl: "../images/sp_07.png"//触发事件时的图片 }) } }) } //构造令牌 // 在需要使用的js文件中,导入js //var util = require('../../utils/util.js'); /*var ttken ='JLI5vvqq0KRnzfla';//密钥 var ttime = parseInt(Date.parse(new Date())/1000);//时间 秒 //var ttime = util.ntime(); var ntoken=ttken+ttime; var token = utilMd5.hexMD5(ntoken); console.log(token);*/ //end module.exports = { formatTime: formatTime, ntime: ntime }
//构造令牌 使用服务器时间戳 var utilMd5 = require('../../utils/md5.js'); var util = require('../../utils/util.js'); // pages/product/product.js Page({ /** * 页面的初始数据 */ data: { // tabs:["泰国香米","湖北早梗米"], // clickId:0,//默认选中的键值,从零开始 // imageUrl:'../images/sp_0777.png'//默认图片 titlessss:'产品中心' }, btn_primary: function (event) { console.log(event) var that = this; this.setData({ clickId: event.currentTarget.id, // imageUrl: "../images/sp_07.png"//触发事件时的图片 }) } , /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { var that = this; var app = getApp();//获取app小程序实例 // WxParse.wxParse('content', 'html', content, that, 5) wx.login({ success: function (res) { if (res.code) { //更新数据 util.ntime(utilMd5, that); } } }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })
#747
<script type="text/javascript"> function isIE() { if (!!window.ActiveXObject || "ActiveXObject" in window || navigator.userAgent.indexOf("Edge")>-1){ return true; } else{ return false; } } if(isIE()) { alert("不支持IE,谢谢!") window.open('www.lizhenhu.com'); } </script> <style type="text/css"> .page-wrap,.page-inner{ margin: 0 auto; width: 600px; padding: 50px 0 0 60px; background: #fff; border-radius: 0 20px 0 0; text-align: justify; } .page-inner{ padding: 0 60px 40px 0; } .page-wrap{ position: relative; margin-left: 0; filter: drop-shadow(0px 0px 25px #aaa); } .page-wrap:before{ content: ''; display: block; position: absolute; right: -60px; top: 0; width: 60px; height: 50px; background: linear-gradient(42deg, #ddd 30%, rgba(0,0,0,0) 40%) } </style> <div class="page-wrap"> <div class="page-inner"> </div> </div>
#748
<!DOCTYPE html> <html> <head> <title></title> <style type="text/css"> body,html{ margin: 0; padding: 0; font-size: 16px } .number li { width: 16px; height: 16px; line-height: 16px; display: inline-block; overflow: hidden; } .number li span { display: block; transform: translateY(0%); } .number li.active span { animation: move 0.3s; animation-fill-mode: forwards; } @keyframes move { from { transform: translateY(0); } to { transform: translateY(-100%); } } </style> </head> <body> <ul id="main" class="number"></ul> <script type="text/javascript"> function makeThreeNum(num){ var num = (num || "").toString(); return num.match(/\d{1,3}/g).join(','); } function getRand(max, min){ return parseInt(Math.random()*(max-min)+min); } function addStep(base){10 return (parseInt(getRand(0, 10)) + parseInt(base)); } var w_old = 123456789; function update(oldNum, newNum){ w_old = newNum; var oldNum = makeThreeNum(oldNum), newNum = makeThreeNum(newNum), numberHTML = ''; for (var i = 0; i < oldNum.length; i++) { if(oldNum[i] !== newNum[i]){ numberHTML += "<li class=\"group active\"><span class=\"old\">" + oldNum[i] + "</span><span class=\"new\">" + newNum[i] + "</span></li>"; }else{ numberHTML += "<li class=\"group\"><span class=\"old\">" + oldNum[i] + "</span><span class=\"new\">" + newNum[i] + "</span></li>"; } } document.getElementById('main').innerHTML = numberHTML; } window.setInterval(function(){ update(w_old, addStep(w_old)); }, 1000); </script> </body> </html>
#749
#750
#751
var myDate = new Date();//获取系统当前时间 myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数) myDate.getHours(); //获取当前小时数(0-23) myDate.getMinutes(); //获取当前分钟数(0-59) myDate.getSeconds(); //获取当前秒数(0-59) myDate.getMilliseconds(); //获取当前毫秒数(0-999) myDate.toLocaleDateString(); //获取当前日期 var mytime=myDate.toLocaleTimeString(); //获取当前时间 myDate.toLocaleString( ); //获取日期与时间
var timestamp =Date.parse(new Date());
var timestamp =(new Date()).valueOf();
var timestamp=new Date().getTime();
<script> alert(Date.parse('Jul 8, 2005')); alert(new Date()); alert(parseInt(new Date())); </script>
new Date() ; //参数可以为整数; 也可以为字符串; 但格式必须正确 new Date(2009,1,1); //正确 new Date("2009/1/1"); //正确 new Date("2009-1-1"); //错误
1.丢弃小数部分,保留整数部分 parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3,四舍五入. Math.round(5/2) 4,向下取整 Math.floor(5/2) Math 对象的方法 FF: Firefox, N: Netscape, IE: Internet Explorer 方法 描述 FF N IE abs(x) 返回数的绝对值 1 2 3 acos(x) 返回数的反余弦值 1 2 3 asin(x) 返回数的反正弦值 1 2 3 atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值 1 2 3 atan2(y,x) 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间) 1 2 3 ceil(x) 对一个数进行上舍入。 1 2 3 cos(x) 返回数的余弦 1 2 3 exp(x) 返回 e 的指数。 1 2 3 floor(x) 对一个数进行下舍入。 1 2 3 log(x) 返回数的自然对数(底为e) 1 2 3 max(x,y) 返回 x 和 y 中的最高值 1 2 3 min(x,y) 返回 x 和 y 中的最低值 1 2 3 pow(x,y) 返回 x 的 y 次幂 1 2 3 random() 返回 0 ~ 1 之间的随机数 1 2 3 round(x) 把一个数四舍五入为最接近的整数 1 2 3 sin(x) 返回数的正弦 1 2 3 sqrt(x) 返回数的平方根 1 2 3 tan(x) 返回一个角的正切 1 2 3 toSource() 代表对象的源代码 1 4 - valueOf() 返回一个 Math 对象的原始值 代码案例: <script type="text/javascript"> //取整 function getResult(num){ return parseInt(num); } //四舍五入到num后面的n位 function getResult(num,n){ return Math.round(num*Math.pow(10,n))/Math.pow(10,n); } //截取n位 function getresult(num,n){ return num.toString().replace(new RegExp("^(\\-?\\d*\\.?\\d{0,"+n+"})(\\d*)$"),"$1")+0; } 其他: var mLength = textMn.length; var mFirst = parseInt(mLength/60); //取整 //alert(mLength); var mLast = mLength; //取余 if(mLast>0){ $(".mood_content").height((mFirst+1)*20); }
#752
#753
自己保存的主题主题C:\Users\Samir(你的电脑名字)\AppData\Local\Microsoft\Windows\Themes C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Themes\CachedFiles
#754
2016/03/21 16:57:10 [emerg] 30420#29876: BIO_new_file("C: ginx-1.9.9\ssl\1_domain_bundle.crt") failed (SSL: error:0200107B:system library:fopen:Unknown error:fopen('C: ginx-1.9.9\ssl\1_domain_bundle.crt','r') error:2006D002:BIO routines:BIO_new_file:system lib) 2016/03/21 16:57:11 [alert] 29884#31740: worker process 30420 exited with code 1 2016/03/21 16:57:11 [alert] 29884#31740: could not respawn worker 2016/03/21 16:57:28 [emerg] 28212#30316: BIO_new_file("C: ginx-1.9.9\ssl\1_domain_bundle.crt") failed (SSL: error:0200107B:system library:fopen:Unknown error:fopen('C: ginx-1.9.9\ssl\1_domain_bundle.crt','r') error:2006D002:BIO routines:BIO_new_file:system lib)
#755
#756
<iframe class="video_iframe js_asyningdom wx_video_iframe" data-vidtype="2" allowfullscreen="" frameborder="0" width="556" height="auto" src="https://v.qq.com/iframe/preview.html?vid=f1321gelc26&width=556&height=auto&auto=0"></iframe>
#757
//视频 2017.12.07 $s['content']=str_ireplace('#iframesrc#','<iframe src="',$s['content']); $s['content']=str_ireplace('#/iframesrc#','" width="100%" height="300" scrolling="no" frameborder="0"></iframe>',$s['content']); $content=$s['content'];
<p>#iframesrc#https://v.qq.com/iframe/player.html?vid=l0515xe3dfr&tiny=0&auto=0#/iframesrc##iframesrc#https://v.qq.com/iframe/player.html?vid=f05153v0sdp&tiny=0&auto=0#/iframesrc#</p>
#758
#759
#760
<script> ajax('get','https://lizhenqiu.com/xcxrequest.php','1',successf); function successf(s){ alert(s); } function ajax(method, url, data, success) { var xhr = null; try { xhr = new XMLHttpRequest();//new一个xhr对象,这个对象像信使一样存在着 } catch (e) { xhr = new ActiveXObject('Microsoft.XMLHTTP');//为了兼容IE6 } //如果是get请求,而且data存在,则是要通过get请求发送数据,通过get请求发送数据,数据会被链接到请求地址之后 if (method == 'get' && data) { url += '?' + data; } //初始化请求,method表示请求方式,url是请求地址,true表示异步 xhr.open(method,url,true); if (method == 'get') { xhr.send();//发送请求 } else { xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');//post方式,需要设置请求头 xhr.send(data);//发送提交数据 } xhr.onreadystatechange = function() { if ( xhr.readyState == 4 ) {//4是请求最后的阶段, //http状态码,2开头便是还请求成功 if ( xhr.status == 200 ) { success && success(xhr.responseText);//在这里判断一下,如果success存在,则执行它,将响应数据作为参数传入回调函数 } else { alert('出错了,Err:' + xhr.status); } } } } </script>
确定要清除编辑框内容吗?
该删除操作将不可恢复。
删除 取消
激活Windows
转到"设置"以激活Windows。
#742
#743
header("Content-type: text/html; charset=utf-8"); $kw=iconv("GBK","utf-8",$_GET['kw']); //将字符串的编码从GB2312转到UTF-8 if(!$kw) $kw=$_GET['kw']; $kw=char($kw); @mysql_query("set names utf8mb4"); <meta http-equiv="content-type" content="text/html;charset=utf-8">function getSafeStr($str){ $s1 = iconv('utf-8','gbk',$str); $s0 = iconv('gbk','utf-8',$s1); if($s0 == $str){ return $str;//'utf-8'; }else{ return iconv('gbk','utf-8',$str);//'gbk' } }也可以在id=1后通过and符号多增加多个判断,如果‘id=1 and 1=1’页面正常,‘id=1 and 1=2’时页面不正常,则这个页面边可能存在注入。
#744
#745
<?php //获取access_token $appid = "wxff7c********"; $appsecret = "197*******7a*******5"; function access_token($appid,$appsecret){ $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsecret}"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查,FALSE表示阻止对证书的合法性的检查。 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是否存在 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//将使用PHP curl获取页面内容或提交数据,作为变量储存,而不是直接输出。 $output = curl_exec($ch);// 执行操作,这里就是返回的结果 $jsoninfo = json_decode($output, true); $access_token = $jsoninfo["access_token"]; curl_close($ch);//关闭一个curl会话 //echo $access_token;exit; return $access_token; } //print_r($post);exit; //post请求 function post($url,$post) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查,FALSE表示阻止对证书的合法性的检查。 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是否存在 curl_setopt($ch, CURLOPT_POST , 1); //使用post提交数据 curl_setopt($ch, CURLOPT_POSTFIELDS, $post); //设置 post提交的数据 //curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($ch); curl_close($ch); $jsoninfo = json_decode($output, true); return $output; } function get($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查,FALSE表示阻止对证书的合法性的检查。 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是否存在 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//将使用PHP curl获取页面内容或提交数据,作为变量储存,而不是直接输出。 $response = curl_exec($ch); // 已经获取到内容,没有输出到页面上。 $jsoninfo = json_decode($response, true); return $jsoninfo; } //自定义菜单 function menudiy($appid,$appsecret){ $access_token=access_token($appid,$appsecret); $url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token={$access_token}"; $post='{ "button":[ { "type":"view", "name":"微官网", "url":"http://www.liangtianmei.com/index.php?s=/addon/WeiSite/WeiSite/index.html" }, { "name":"网页授权", "sub_button":[ { "type":"view", "name":"base型", "url":"http://www.liangtianmei.com/menu.php" }, { "type":"view", "name":"userinfo型", "url":"http://www.liangtianmei.com/menu.php" } ] }] }'; post($url,$post); } function snsapi_base($appid,$appsecret,$redirect_url){ $snsapi_base_url="https://open.weixin.qq.com/connect/oauth2/authorize?appid={$appid}&redirect_uri={$redirect_url}&response_type=code&scope=snsapi_base&state=123#wechat_redirect"; if(!isset($_GET['code'])){ header("Location:{$snsapi_base_url}"); } $code=$_GET['code']; $url="https://api.weixin.qq.com/sns/oauth2/access_token?appid={$appid}&secret={$appsecret}&code={$code}&grant_type=authorization_code"; get($url); } function snsapi_userinfo($appid,$appsecret,$redirect_url){ $snsapi_userinfo_url="https://open.weixin.qq.com/connect/oauth2/authorize?appid={$appid}&redirect_uri={$redirect_url}&response_type=code&scope=snsapi_userinfo&state=1443#wechat_redirect"; if(!isset($_GET['code'])){ header("Location:{$snsapi_userinfo_url}"); } $code=$_GET['code']; //return $code;exit; //return $appid;exit; $urlll="https://api.weixin.qq.com/sns/oauth2/access_token?appid={$appid}&secret={$appsecret}&code={$code}&grant_type=authorization_code"; $rrr= get($urlll); $access_token=$rrr['access_token']; $openid=$rrr['openid']; //return $access_token;exit; $urls="https://api.weixin.qq.com/sns/userinfo?access_token={$access_token}&openid={$openid}&lang=zh_CN"; return get($urls); //return get($urls); } //echo snsapi_userinfo(); ?>curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查,FALSE表示阻止对证书的合法性的检查。 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是否存在#746
const formatTime = date => { const year = date.getFullYear() const month = date.getMonth() + 1 const day = date.getDate() const hour = date.getHours() const minute = date.getMinutes() const second = date.getSeconds() return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':') } const formatNumber = n => { n = n.toString() return n[1] ? n : '0' + n } //服务器时间戳 function ntime(utilMd5, that){ wx.request({ url: 'https://hhh.liangtianmei.com/ntime.php',//请修改为你服务器 data: { }, header: { 'content-type': 'application/json' }, success: function (res) { //return res; var ttken = 'JLI5vvqq0KRnzfla';//密钥 //var ttime = parseInt(Date.parse(new Date()) / 1000);//时间 秒 var ttime = res.data;//util.ntime(); var ntoken = ttken + ttime; var token = utilMd5.hexMD5(ntoken); //console.log(token); //return token; var url = 'https://hhh.liangtianmei.com/index.php/Home/Product/index'; updatenew(url, token, that); } }) } //更新数据 function updatenew(url, token, that) { wx.request({ url: url,//'https://hhh.liangtianmei.com/index.php/Home/Product/index', //仅为示例,并非真实的接口地址 data: { token: token }, method: 'GET', header: { 'content-type': 'application/json' // 默认值 }, success: function (res) { // alert(res.data) // res.data.content = app.convertHtmlToText(res.content) /*that.setData({ textdata: res.data }); console.log (res.data)*/ // that.setData(res.data) /*that.setData({ all: res.data//第一个data为固定用法,第二个data是json中的data })*/ //console.log(token); //console.log(res) that.setData({ all: res.data // imageUrl: "../images/sp_07.png"//触发事件时的图片 }) } }) } //构造令牌 // 在需要使用的js文件中,导入js //var util = require('../../utils/util.js'); /*var ttken ='JLI5vvqq0KRnzfla';//密钥 var ttime = parseInt(Date.parse(new Date())/1000);//时间 秒 //var ttime = util.ntime(); var ntoken=ttken+ttime; var token = utilMd5.hexMD5(ntoken); console.log(token);*/ //end module.exports = { formatTime: formatTime, ntime: ntime }//构造令牌 使用服务器时间戳 var utilMd5 = require('../../utils/md5.js'); var util = require('../../utils/util.js'); // pages/product/product.js Page({ /** * 页面的初始数据 */ data: { // tabs:["泰国香米","湖北早梗米"], // clickId:0,//默认选中的键值,从零开始 // imageUrl:'../images/sp_0777.png'//默认图片 titlessss:'产品中心' }, btn_primary: function (event) { console.log(event) var that = this; this.setData({ clickId: event.currentTarget.id, // imageUrl: "../images/sp_07.png"//触发事件时的图片 }) } , /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { var that = this; var app = getApp();//获取app小程序实例 // WxParse.wxParse('content', 'html', content, that, 5) wx.login({ success: function (res) { if (res.code) { //更新数据 util.ntime(utilMd5, that); } } }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })#747
<script type="text/javascript"> function isIE() { if (!!window.ActiveXObject || "ActiveXObject" in window || navigator.userAgent.indexOf("Edge")>-1){ return true; } else{ return false; } } if(isIE()) { alert("不支持IE,谢谢!") window.open('www.lizhenhu.com'); } </script> <style type="text/css"> .page-wrap,.page-inner{ margin: 0 auto; width: 600px; padding: 50px 0 0 60px; background: #fff; border-radius: 0 20px 0 0; text-align: justify; } .page-inner{ padding: 0 60px 40px 0; } .page-wrap{ position: relative; margin-left: 0; filter: drop-shadow(0px 0px 25px #aaa); } .page-wrap:before{ content: ''; display: block; position: absolute; right: -60px; top: 0; width: 60px; height: 50px; background: linear-gradient(42deg, #ddd 30%, rgba(0,0,0,0) 40%) } </style> <div class="page-wrap"> <div class="page-inner"> </div> </div>#748
<!DOCTYPE html> <html> <head> <title></title> <style type="text/css"> body,html{ margin: 0; padding: 0; font-size: 16px } .number li { width: 16px; height: 16px; line-height: 16px; display: inline-block; overflow: hidden; } .number li span { display: block; transform: translateY(0%); } .number li.active span { animation: move 0.3s; animation-fill-mode: forwards; } @keyframes move { from { transform: translateY(0); } to { transform: translateY(-100%); } } </style> </head> <body> <ul id="main" class="number"></ul> <script type="text/javascript"> function makeThreeNum(num){ var num = (num || "").toString(); return num.match(/\d{1,3}/g).join(','); } function getRand(max, min){ return parseInt(Math.random()*(max-min)+min); } function addStep(base){10 return (parseInt(getRand(0, 10)) + parseInt(base)); } var w_old = 123456789; function update(oldNum, newNum){ w_old = newNum; var oldNum = makeThreeNum(oldNum), newNum = makeThreeNum(newNum), numberHTML = ''; for (var i = 0; i < oldNum.length; i++) { if(oldNum[i] !== newNum[i]){ numberHTML += "<li class=\"group active\"><span class=\"old\">" + oldNum[i] + "</span><span class=\"new\">" + newNum[i] + "</span></li>"; }else{ numberHTML += "<li class=\"group\"><span class=\"old\">" + oldNum[i] + "</span><span class=\"new\">" + newNum[i] + "</span></li>"; } } document.getElementById('main').innerHTML = numberHTML; } window.setInterval(function(){ update(w_old, addStep(w_old)); }, 1000); </script> </body> </html>#749
#750
#751
var myDate = new Date();//获取系统当前时间 myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数) myDate.getHours(); //获取当前小时数(0-23) myDate.getMinutes(); //获取当前分钟数(0-59) myDate.getSeconds(); //获取当前秒数(0-59) myDate.getMilliseconds(); //获取当前毫秒数(0-999) myDate.toLocaleDateString(); //获取当前日期 var mytime=myDate.toLocaleTimeString(); //获取当前时间 myDate.toLocaleString( ); //获取日期与时间第一种方法:
var timestamp =Date.parse(new Date());第二种方法:
var timestamp =(new Date()).valueOf();结果:1280977330748
第三种方法:
var timestamp=new Date().getTime();结果:1280977330748
显示的结果是:Mar 31 10:10:43 UTC+0800 2012 这种格式的时间
但是用new Date() 参与计算会自动转换为从1970.1.1开始的毫秒数。
<script> alert(Date.parse('Jul 8, 2005')); alert(new Date()); alert(parseInt(new Date())); </script>new Date() ; //参数可以为整数; 也可以为字符串; 但格式必须正确 new Date(2009,1,1); //正确 new Date("2009/1/1"); //正确 new Date("2009-1-1"); //错误1.丢弃小数部分,保留整数部分 parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3,四舍五入. Math.round(5/2) 4,向下取整 Math.floor(5/2) Math 对象的方法 FF: Firefox, N: Netscape, IE: Internet Explorer 方法 描述 FF N IE abs(x) 返回数的绝对值 1 2 3 acos(x) 返回数的反余弦值 1 2 3 asin(x) 返回数的反正弦值 1 2 3 atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值 1 2 3 atan2(y,x) 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间) 1 2 3 ceil(x) 对一个数进行上舍入。 1 2 3 cos(x) 返回数的余弦 1 2 3 exp(x) 返回 e 的指数。 1 2 3 floor(x) 对一个数进行下舍入。 1 2 3 log(x) 返回数的自然对数(底为e) 1 2 3 max(x,y) 返回 x 和 y 中的最高值 1 2 3 min(x,y) 返回 x 和 y 中的最低值 1 2 3 pow(x,y) 返回 x 的 y 次幂 1 2 3 random() 返回 0 ~ 1 之间的随机数 1 2 3 round(x) 把一个数四舍五入为最接近的整数 1 2 3 sin(x) 返回数的正弦 1 2 3 sqrt(x) 返回数的平方根 1 2 3 tan(x) 返回一个角的正切 1 2 3 toSource() 代表对象的源代码 1 4 - valueOf() 返回一个 Math 对象的原始值 代码案例: <script type="text/javascript"> //取整 function getResult(num){ return parseInt(num); } //四舍五入到num后面的n位 function getResult(num,n){ return Math.round(num*Math.pow(10,n))/Math.pow(10,n); } //截取n位 function getresult(num,n){ return num.toString().replace(new RegExp("^(\\-?\\d*\\.?\\d{0,"+n+"})(\\d*)$"),"$1")+0; } 其他: var mLength = textMn.length; var mFirst = parseInt(mLength/60); //取整 //alert(mLength); var mLast = mLength; //取余 if(mLast>0){ $(".mood_content").height((mFirst+1)*20); }#752
#753
自己保存的主题主题C:\Users\Samir(你的电脑名字)\AppData\Local\Microsoft\Windows\Themes C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Themes\CachedFiles#754
NGINX BIO_new_file
2016/03/21 16:57:10 [emerg] 30420#29876: BIO_new_file("C: ginx-1.9.9\ssl\1_domain_bundle.crt") failed (SSL: error:0200107B:system library:fopen:Unknown error:fopen('C: ginx-1.9.9\ssl\1_domain_bundle.crt','r') error:2006D002:BIO routines:BIO_new_file:system lib) 2016/03/21 16:57:11 [alert] 29884#31740: worker process 30420 exited with code 1 2016/03/21 16:57:11 [alert] 29884#31740: could not respawn worker 2016/03/21 16:57:28 [emerg] 28212#30316: BIO_new_file("C: ginx-1.9.9\ssl\1_domain_bundle.crt") failed (SSL: error:0200107B:system library:fopen:Unknown error:fopen('C: ginx-1.9.9\ssl\1_domain_bundle.crt','r') error:2006D002:BIO routines:BIO_new_file:system lib)问题分析:只要写绝对路径,就会报错,无论windows还是linux,怀疑是对路径的处理有问题
解决办法
windows下,将证书文件放到conf目录下,
linux下,将证书文件放到nginx.conf所在的目录下
#755
#756
1.用浏览器打开公众号文章,在空白处点击右键 点击查找网页源代码
进入源代码页面后 Ctrl+f 右上角小框 在小框内输入 v.qq.vom 找到视频的网址 将https-----; 这段网址进行复制
复制网址之后粘贴到记事本中
记视频链接一
2.进入腾讯视频 随便打开一个视频 复制这个视频的链接地址
将随便找的视频地址复制到记事本中
记视频链接2
将 视频链接一 的 vid=**** 和 视频链接2 的 vid=**** 进行替换 得到一个新的链接地址(记视频链接三)
将替换后的新地址(记视频链接三)在浏览器中打开 在视频播放器底部分享处复制引用iframe框架html网址链接即可 按上面教程
<iframe class="video_iframe js_asyningdom wx_video_iframe" data-vidtype="2" allowfullscreen="" frameborder="0" width="556" height="auto" src="https://v.qq.com/iframe/preview.html?vid=f1321gelc26&width=556&height=auto&auto=0"></iframe>#757
//视频 2017.12.07 $s['content']=str_ireplace('#iframesrc#','<iframe src="',$s['content']); $s['content']=str_ireplace('#/iframesrc#','" width="100%" height="300" scrolling="no" frameborder="0"></iframe>',$s['content']); $content=$s['content'];<p>#iframesrc#https://v.qq.com/iframe/player.html?vid=l0515xe3dfr&tiny=0&auto=0#/iframesrc##iframesrc#https://v.qq.com/iframe/player.html?vid=f05153v0sdp&tiny=0&auto=0#/iframesrc#</p>#758
#759
#760
<script> ajax('get','https://lizhenqiu.com/xcxrequest.php','1',successf); function successf(s){ alert(s); } function ajax(method, url, data, success) { var xhr = null; try { xhr = new XMLHttpRequest();//new一个xhr对象,这个对象像信使一样存在着 } catch (e) { xhr = new ActiveXObject('Microsoft.XMLHTTP');//为了兼容IE6 } //如果是get请求,而且data存在,则是要通过get请求发送数据,通过get请求发送数据,数据会被链接到请求地址之后 if (method == 'get' && data) { url += '?' + data; } //初始化请求,method表示请求方式,url是请求地址,true表示异步 xhr.open(method,url,true); if (method == 'get') { xhr.send();//发送请求 } else { xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');//post方式,需要设置请求头 xhr.send(data);//发送提交数据 } xhr.onreadystatechange = function() { if ( xhr.readyState == 4 ) {//4是请求最后的阶段, //http状态码,2开头便是还请求成功 if ( xhr.status == 200 ) { success && success(xhr.responseText);//在这里判断一下,如果success存在,则执行它,将响应数据作为参数传入回调函数 } else { alert('出错了,Err:' + xhr.status); } } } } </script>防止缓存的方法:
请求的url地址?t=new Date()
POST 方式请求
浏览器认为Post的提交必然是有改变的 所以一般post请求 不会从缓存中去数据
不管是哪中方式请求 我们可以设置缓存开关:
$ajax.Setup({ cache:false});
encodeURL()处理中文乱码问题