自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 css data:image/svg+xml 不显示

原因:新版chrome不支持 # , 需要改成%23如: .toggle:after { content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="-10 -18 100 135"><circle cx="50" cy="50" r="40" fill="none" stroke="#ededed" stroke-wi

2021-10-06 20:47:00 4498

原创 Node 微信支付 “由于商家传入的H5交易参数有误 该笔交易暂时无法完成 请联系商家解决”

之前稳定运行一段时间的微信H5支付,突然报错:“由于商家传入的H5交易参数有误 该笔交易暂时无法完成 请联系商家解决”。经过多方排查,最终确定是微信下单的ip传递有误。上传的ip为“127.0.0.1”,这个ip微信H5支付的时候是不认的。可以通过以下函数获取正确ip(适用于Node)// 获取用户真实ip get_client_ip (req) { let ip = req.headers['x-forwarded-for'] || req.ip ||

2020-05-19 15:54:45 2668

原创 sequlize统一格式化时间

数据查出来的数据格式,如图:自动格式化时间,需要在数据库配置上加上 dateStrings: true,

2020-04-09 18:09:11 601

原创 MySQL将timestamp默认值设置为null

问题以前MySQL创建表的的时候,timestamp类型的字段可以不加默认值。`createTime` timestamp COMMENT '创建时间',这样创建是没有问题的。但是现在却报错,“Invalid default value for ‘createTime’”问题原因:因为MySQL 5.6以后timestamp设定默认值规则改变,不能为0000 00-00 00:00:00...

2019-11-22 10:20:16 9912

原创 python 秒级压缩上万张图片

最近买了一批图片,总共一万六千张,600M,占用的空间太大了。但是一张一张使用压缩工具压缩,效率太低了。上网百度了一番,最后借鉴这篇博客Python实现批量压缩图片,略加修改,成功一次性将所有图片压缩到了79.2M。安装python环境去python下载,我装的是这个,安装的时候,记得勾选“同时加入环境变量”。安装模块PILpip install Pillow写压缩代码新建文件,我...

2019-07-12 15:44:35 1449

原创 egg 如何接收xml数据

增加配置: // 覆盖egg自带的配置 使支持接收xml参数 config.bodyParser = { enable: true, encoding: 'utf8', formLimit: '100kb', jsonLimit: '100kb', strict: true, // @see https://github.com/hapijs/...

2019-06-26 12:03:34 2381 2

原创 sequlize获取存储过程out结果集

问题存储过程test是这样定义的DROP PROCEDURE IF EXISTS `test`;DELIMITER ;;CREATE PROCEDURE `test`(OUT `ret` int)BEGIN ... (具体过程省略)END;;DELIMITER ;用sequlize调用 “ CALL test(@ret); ” , 我们该怎么拿到@ret的值呢?解决...

2019-03-20 17:42:44 976 3

原创 sequlize查询结果时间格式化

现象用sequlize查询出来的时间格式和数据保存的格式不一样。如:数据库长这样:但是用sequlize查询出来长这样:解决利用moment时间插件,在sequlize 的model 定义里面加上时间转换函数。首先引入moment插件:const moment = require('moment');然后 给字段 createTime 增加 get 方法:createTim...

2019-03-20 17:24:23 2295

原创 MySQL 游标循环未完成就中止了

今天运行MySQL存储过程的时候,发现游标循环只执行了一半。原因出在这个地方DECLARE CONTINUE HANDLER FOR NOT FOUND SET end_flag = 1;这个语句的意思是整个存储过程中,如果查询没有找到结果, end_flag就会被置为1。如果我们的循环这样写:OPEN cur_pos; label_r: LOOP FETCH c...

2019-03-06 15:22:47 2336 2

原创 windows下ab的安装和压测

安装无须安装apache服务器。访问下载地址,进入如下页面,下载红色箭头指向的包 解压,找到bin所在目录,用命令行打开该目录,我的是这样的至此,ab算是启动成功get请求 abs -n 1 -c 1 “https://blog.csdn.net/”参数解释 ab:http请求 abs:https请求 -n:测试几次 -c: 模拟多少客...

2018-08-14 15:23:34 12428

原创 node异步用await和不用await的区别

最近在用node写项目。新版node异步用的是async/await这两个关键字。我们都知道,一般这两个关键字要成对出现。但是,笔者发现,如果不需要等待返回值的话,await可以不加。那么await加和不加有什么区别呢?百度以及google了大量资料,结合评论,最终在实践中弄明白了。下面直接上例子。不加awaitasync test(ctx,next){ this.doThin...

2018-05-10 10:21:37 24028 11

原创 PHP与JS跨域请求

当ajax请求的url域名与当前域名不一致时,由于浏览器的保护机制,会报错:No ‘Access-Control-Allow-Origin’ header is present on the requested resource.这时,我们可以采用jsonp,跨域请求进行访问。ajax请求之jsonp$.ajax({ type : "post", url : "htt

2017-12-14 10:26:00 814

原创 微信H5支付:网络环境未能通过安全验证,请稍后再试

最近在开发微信H5支付,并且已应用到某个网站进行支付。但奇怪的是,一模一样的支付代码,换了一个网站,竟不能支付了。出现如图错误提示:百度一圈,均是说IP传得不对。微信sdk文件中\lib\WxPay.Api.php中的函数unifiedOrder获取IP的方式是这样的:$inputObj->SetSpbill_create_ip($_SERVER['REMOTE_ADDR']);//终端ip

2017-09-29 16:22:28 28562 2

原创 JS小数运算精度问题

在JS计算的时候,偶然发现一个奇怪的现象,如图:百度发现: java和JavaScript中计算小数运算时,都会先将十进制的小数换算到对应的二进制,一部分小数并不能完整的换算为二进制,这里就出现了第一次的误差。解决方案:js之间的整数运算都是正常的。所以先将数值乘以10的整数倍,变成整数运算,之后再将结果除以10的整数倍。如:

2017-09-29 16:07:17 3640

原创 PHP openssl_encrypt_decrypt

声明:该加解密代码非原创,原文github地址为:https://gist.github.com/joashp/a1ae9cb30fa533f4ad94#file-openssl_encrypt_decrypt-php 这里只是mark一下,便于自己查阅<?php/** * simple method to encrypt or decrypt a plain text string * i

2017-09-20 17:02:41 1090

原创 ThinkPHP 向js模板中传递参数

在HTML模板中,可以通过类似“{$item}”这样的形式传递参数。 在JS模板中,传递参数可以这样:console.log("{$orderSn}"); 注意:在JS模板中写php 参数最好都带上"",有些时候"{$orderSn}" != {$orderSn};

2017-09-19 10:13:30 8354 2

原创 MySQL delimiter的作用

MySQL默认的结束符是分号(;),遇到分号,程序就会立即执行。如果一次输入多条语句,不希望立即执行,就需要重新指定一个结束符。-- 指定结束符为//DELIMITER //CREATE PROCEDURE `TEST_PRO`()BEGINCALL EXECUTE_PRO();end-- 标志脚本结束//-- 重新指定结束符为//DELIMITER ;换言之,delimiter的

2017-09-04 15:14:22 332

原创 MySQL标准变量、临时变量、系统变量

声明标准变量DECLARE end_flag INT DEFAULT 0;临时变量@(不需要声明)只在局部起作用用法一:set @name=value; set @num=1; set @num:=1;用法二:select @num=value;select @num:=1; select @num:=字段名 from 表名 where ……全局变量@@ 系统变量,只能读取,不能修改,如@@e

2017-09-04 12:32:06 15376

原创 MySQL sum if 的使用

sum (column ) : 把一列的值全部相加 sum( if ( 条件 , 2 , 0 ) ) : 满足“条件”,加2,不满足条件,加0例:表user如图统计每个用户count<5的次数select user_id,sum(IF(count<5,1,0)) as times from user group by user_id;结果如下:

2017-08-24 16:15:28 3418

原创 MySQL按日期统计

select DATE_FORMAT(create_at,'%Y-%m-%d') as day,SUM(count) as count from orders GROUP BY day;

2017-08-24 15:49:53 1297

原创 JSSDK微信分享功能实现,有坑==||

花了几天时间研究“网页中分享到微信”功能,发现现在能做到的只有,间接调用浏览器的分享接口,如搜狐新闻(UC手机浏览器可用)。网上说JSSDK可以实现该功能,研究了N久。发现被大大地坑了!JSSDK是供微信公众号网页开发的工具,早前已经关闭了在微信外分享功能 。现只能提供在微信浏览器中,修改网页分享配置。注意:只能修改分享的配置!如:分享的连接,分享标题,分享图片。分享弹出框,还是只能手动 点击右上角

2017-08-10 14:12:44 1568

原创 SQL distinct去重并排序失败

现在我有一个orders表,user_id是用户id,count是用户每月购买数量。结构如下 我希望列出每个用户月单笔购买最大数目,并降序排列。也就是这样正确的SQL查询语句如下:SELECT user_id,MAX(count) as num from orders GROUP BY user_id ORDER BY num desc;思想:用group by 和order by进行去重和排序

2017-08-10 13:47:21 8302

原创 MySQL命令行连接远程数据库

前提本地电脑上装有mysql,并可以正常运行。步奏打开命令行cmd将目录定位到mysql.exe所在目录,例如:输入相应命令mysql -h 数据库所在ip地址 -P 3306 -u 账号 -p密码

2017-08-09 14:39:23 7696

原创 MySQL 日期与时间戳的转换

日期转时间戳当前日期的获取在MySQL中我们来执行以下脚本SELECT NOW(),CURDATE(),CURTIME();结果如下: 所以由上可以看出NOW() 获取当前的完整时间 日期+时分秒CURDATE() 获取当前日期CURTIME() 获取时分秒注意:与NOW()类似的MySQL函数还有CURRENT_TIMESTAMP,SYSDATE,都是返

2017-08-09 11:31:35 584

原创 PHP时间戳和日期转换

时间戳转日期 date()time()<?phpvar_dump(time()); //获取当前时间戳 int(1502245603)date(format,timestamp) format 必需。规定时间戳的格式。 timestamp 可选。规定时间戳。默认是当前时间和日期时间戳转日期,可以用date(‘Y-m-s h:i:s’, 具体时间戳来实现). Y

2017-08-09 10:56:11 155380 2

原创 微信清除缓存的两种方法

网址清除微信浏览器打开网址“http://debugx5.qq.com”,勾选如下设置:点击“清除”按钮即可。代码清除如果是自己写的网页,在调试阶段希望不要缓存,可以在html页面的head中加入如下代码:<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /><meta http-equiv

2017-06-07 23:05:43 35360

原创 百度地图JS使所有标注都在视野范围内

当地图上有很多覆盖物,或者标注点的时候,我们怎么使他们均呈现在视野范围内呢? 百度地图提供了一个方法“setViewport” map.setViewport(points);points是所有地图点的集合

2017-04-22 10:54:22 2329

原创 ARC forbids explicit message send of 'retainCount'

遇到这种错误是因为没有打开ARC。 解决方案有两种:方案一方案二:

2017-04-13 13:39:17 798

原创 Xcode 如何链接多个C文件

Xcode的Command Line Tool可以编译C文件。那么如何将多个C文件链接到一起编译呢?假设我们写了三个文件 1. main.c ( main函数) 2. sum.h ( 求和函数声明) 3. sum.c( 求和函数)只要在main.c文件中include sum.h即可。在main.c文件中加入如下代码:#include "sum.h"一些可能的错误implicit decla

2017-04-08 19:34:57 4222 1

原创 i++和++i的区别

对于下面的代码,学JS的都很熟悉,i++用的久了,久而久之竟也忘了它的具体含义for(var i=0;i<arr.length;i++){}i++i先使用,用完后加1,例如:var i = 1;var j = i++;console.log(j); //1console.log(i); //2++ii先加1,再投入使用,例如:var i = 1;var j = ++i;console.lo

2017-04-08 17:33:57 417

原创 解决xcode printf 无输出

今天用xcode 8.3 的 Command Line Tool 新建了一个c语言程序。官方给出的例子是这样的:#include <stdio.h>int main(int argc, const char * argv[]) { // insert code here... printf("hello,world!\n"); return 0;}运行起来,console

2017-04-08 12:19:44 6857 5

原创 ionic2 ios input foucus事件

最近用ionic2写input autofocus事件,发现无论是autofocus还是focus()事件,在浏览器中测试,都没有效果,更别说在真机上了。纠结了一天,终于找到了解决方案。解决方案在ngAfterViewInit事件后执行setTimeout事件,比如这样:ngAfterViewInit(){ let input = this.myInput.nativeElement;

2017-04-01 17:16:19 4429

原创 ionic 真机无故弹出keybord键盘

在开发ionic App的时候,有时会碰到这样怪异的情形:分明没有点击input键,但是却在真机(或模拟器)上弹出了键盘,这并不是我们想要的。我们希望input focus事件是受自己控制的。触发事件情形分析这是怎么回事呢?一直百思不得其解。但是发现了这样的规律,无故弹出软键盘的情形,一般是这样的: 拇指点击区域和input框的位置存在重叠。不管input和拇指点击区域是不是在同一页面,只要两

2017-03-30 09:46:18 1855

原创 PHP mysql_connect连接失败

欢欢喜喜地在mac电脑上安装XAMPP环境,结果连接数据库的时候报mysql_connect不存在。百度了很多方法,如:找到php.ini文件,打开方法 “extension=php_mysql.dll” ” extension_dir = “ext” “等等,但是毫无作用。关键点在这里,检查你的php版本phpinfo();结果: 原来从php7开始,数据库扩展换成了mysqli。

2017-03-30 09:18:20 7880 3

原创 JS格式化从数据库中取出的时间

数据库保存的时间一般是这样的“1490079794”。当后台传了一个这样的时间戳,前台该如何转换成想要的格式呢?Date的几个方法将时间转换为Date对象var time = 1490079794;var transTime = new Date( time*1000 );console.log(transTime); //输出结果:Tue Mar 21 2017 15:03:14 GMT+08

2017-03-21 17:05:15 7095

原创 IOS webview 引入iframe无显示

在IOS web view 引入iframe,在真机上页面空白,加载不了外部页面。<iframe src="http://www.baidu.com"></iframe>需要在config.xml中添加如下两段代码来允许访问外部链接:<allow-navigation href="*" /><allow-intent href="*" />

2017-03-15 18:08:21 6752 5

原创 IOS webview iframe 宽度超出屏幕解决方案

最近在项目中,需要打开外部网页。于是将网页嵌在了iframe标签里面,在PC测试没有问题,自适应良好,但是转入IOS 真机webview中,iframe 却不能很好地适应屏幕大小,总是超出屏幕尺寸,需要左右滚动才能看到完整页面。 谷歌了一天,各种解决方案都试了,都没有用,最后发现综合几种解决方案,有效。代码如下:<div style="overflow: auto;-webkit-overflow

2017-03-15 18:02:12 8745 2

原创 JS中的位操作符:“与,或,非,异或,左移,右移”

Javascript有算数操作符,赋值操作符,比较操作符,逻辑操作符,同时也有位操作符。引子先想一想,如下,该输出什么答案? console.log('5 & 1 :', ( 5 & 1 )); console.log('5 | 1 :', ( 5 | 1)); console.log('~ 5:', (~5)); console.log('5 ^ 1 :', ( 5

2017-03-11 15:02:15 19764

原创 Xcode无开发者账号真机测试

众所周知,自Xcode7以来,就开始支持无开发者账号真机测试。百度上存在各种版本的教程,但是由于Xcode版本不一致,导致总是无法成功实现真机测试。现在将成功经验分享如下:(Xcode Version 8.2.1)申请AppID当您在mac上面使用app store或者是iTunes等应用时,会提示您注册AppID,具体怎么注册可自行百度。配置account打开Xcode软件,点击菜单栏Xcode

2017-02-23 14:33:30 12774 1

原创 SVG动态创建image失败解决方案

在用JS动态创建SVG标签的时候,像g标签,circle标签,rect标签等都可以正确创建并显示,但是image标签却总是不能显示。我的初始代码如下:var svgNS = 'http://www.w3.org/2000/svg';var oImg = document.createElementNS(svgNS, 'image');oImg.setAttribute('xlink:href',

2016-12-14 12:35:27 2539

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除